Exemplo n.º 1
0
        public void SendStatesToPlayers()
        {
            var packet = new StateListPacket();

            packet.States.Add(Network.ServerPlayerID, new PlayerState
            {
                PlayerID    = Network.ServerPlayerID,
                Position    = FirstPersonInteraction.FirstPersonCamera.transform.position,
                EulerAngles = FirstPersonInteraction.FirstPersonCamera.transform.eulerAngles,
                Username    = this.Username
            });

            foreach (var item in Players)
            {
                packet.States.Add(item.Value.ID, new PlayerState
                {
                    PlayerID    = item.Value.ID,
                    Position    = item.Value.Position,
                    EulerAngles = item.Value.EulerAngles,
                    Username    = item.Value.Username
                });
            }

            Broadcast(packet, NetDeliveryMethod.ReliableSequenced);
        }
Exemplo n.º 2
0
        public static void UpdateStates(StateListPacket states)
        {
            foreach (var item in PlayersInner.Where(o => !states.States.ContainsKey(o.Key)))
            {
                PlayersInner.Remove(item.Key);
            }

            foreach (var item in states.States)
            {
                if (item.Key == Network.PlayerID)
                {
                    continue;
                }

                UpdatePlayer(item.Value, false);
            }
        }