public override void ProcessPacket(Guid sourcePlayerId, Packet packet, IProcessorContext context) { CreateDisasterPacket createDisasterPacket = (CreateDisasterPacket)packet; ClientProcessorContext processorContext = (ClientProcessorContext)context; processorContext.Client.DisasterManager.OnCreateDisaster(createDisasterPacket.Disaster); }
public void CreateDisaster(Disaster disaster) { this.disaster = disaster; CreateDisasterPacket createDisasterPacket = new CreateDisasterPacket(disaster); server.SendPacketToAll(createDisasterPacket); }
public void CreateDisaster(Disaster disaster) { Player?simulationOwner = client.SimulationManager.GetSimulationOwner(); if (simulationOwner == null || simulationOwner.Value != client.LocalPlayer) { return; // Don't send the packet if we aren't the simulation owner } CreateDisasterPacket createDisasterPacket = new CreateDisasterPacket(disaster); client.SendPacket(createDisasterPacket); }
public override void ProcessPacket(Guid sourcePlayerId, Packet packet, IProcessorContext context) { CreateDisasterPacket createDisasterPacket = (CreateDisasterPacket)packet; ServerProcessorContext processorContext = (ServerProcessorContext)context; SimulationManager simulationManager = processorContext.Server.SimulationManager; DisasterManager disasterManager = processorContext.Server.DisasterManager; Player?simulationOwner = simulationManager.GetSimulationOwner(); if (simulationOwner == null || sourcePlayerId != simulationOwner.Value.Id) { //Deny request if client isn't the simulation owner return; } disasterManager.CreateDisaster(createDisasterPacket.Disaster); }