public override void ProcessPacket(Guid sourcePlayerId, Packet packet, IProcessorContext context) { UpdateDisasterPacket updateDisasterPacket = (UpdateDisasterPacket)packet; ClientProcessorContext processorContext = (ClientProcessorContext)context; processorContext.Client.DisasterManager.OnUpdateDisaster(updateDisasterPacket.CurrentTime); }
public void UpdateDisaster(float currentTime) { if (!AnyDisasterInProgress()) { return; } Disaster disaster = this.disaster.Value; disaster.CurrentTime = currentTime; UpdateDisasterPacket updateDisasterPacket = new UpdateDisasterPacket(currentTime); server.SendPacketToAll(updateDisasterPacket); }
public override void ProcessPacket(Guid sourcePlayerId, Packet packet, IProcessorContext context) { UpdateDisasterPacket updateDisasterPacket = (UpdateDisasterPacket)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.UpdateDisaster(updateDisasterPacket.CurrentTime); }
public void UpdateDisaster(float currentTime) { if (!AnyDisasterInProgress()) { return; } 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 } UpdateDisasterPacket updateDisasterPacket = new UpdateDisasterPacket(currentTime); client.SendPacket(updateDisasterPacket); }