Beispiel #1
0
        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);
        }
Beispiel #4
0
        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);
        }