public override void ProcessPacket(Guid sourcePlayerId, Packet packet, IProcessorContext context)
        {
            UpdateEnvironmentDataPacket updateEnvironmentDataPacket = (UpdateEnvironmentDataPacket)packet;
            ClientProcessorContext      processorContext            = (ClientProcessorContext)context;

            processorContext.Client.EnvironmentManager.OnUpdateEnvironmentData(updateEnvironmentDataPacket.Time, updateEnvironmentDataPacket.WindLevel, updateEnvironmentDataPacket.WindDirection);
        }
        public void UpdateEnvironmentData(float time, float windLevel, Vector3D windDirection)
        {
            this.time          = time;
            this.windLevel     = windLevel;
            this.windDirection = windDirection;
            UpdateEnvironmentDataPacket updateEnvironmentDataPacket = new UpdateEnvironmentDataPacket(time, windLevel, windDirection);

            server.SendPacketToAll(updateEnvironmentDataPacket);
        }
Ejemplo n.º 3
0
        public void UpdateEnvironmentData(float time, float windLevel, Vector3D windDirection)
        {
            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
            }
            UpdateEnvironmentDataPacket updateEnvironmentDataPacket = new UpdateEnvironmentDataPacket(time, windLevel, windDirection);

            client.SendPacket(updateEnvironmentDataPacket);
        }
        public override void ProcessPacket(Guid sourcePlayerId, Packet packet, IProcessorContext context)
        {
            UpdateEnvironmentDataPacket updateEnvironmentDataPacket = (UpdateEnvironmentDataPacket)packet;
            ServerProcessorContext      processorContext            = (ServerProcessorContext)context;
            SimulationManager           simulationManager           = processorContext.Server.SimulationManager;
            EnvironmentManager          environmentManager          = processorContext.Server.EnvironmentManager;

            Player?simulationOwner = simulationManager.GetSimulationOwner();

            if (simulationOwner == null || sourcePlayerId != simulationOwner.Value.Id)
            {
                //Deny request if client isn't the simulation owner
                return;
            }

            environmentManager.UpdateEnvironmentData(updateEnvironmentDataPacket.Time, updateEnvironmentDataPacket.WindLevel, updateEnvironmentDataPacket.WindDirection);
        }