Esempio n. 1
0
 private void OnMovePlayerAction(MovePlayerArgs e)
 {
     if (MovePlayer != null)
     {
         MovePlayer(this, e);
     }
 }
Esempio n. 2
0
        /*
         * private void GameServer_RemovePlayer(int playerId)
         * {
         *  Player player = GameServer.Instance.GameManager.Players.GetPlayerByID(playerId);
         *
         *  if (player != null && Me.Id != playerId)
         *  {
         *      GameServer.Instance.GameManager.RemovePlayer(player);
         *  }
         * }
         */

        private void GameServer_MovePlayer(object sender, MovePlayerArgs arg)
        {
            Client client = GameServer.Instance.Clients.GetClientById(arg.ClientId);

            if (client != null)
            {
                if (client.Player != null)
                {
                    // If it's us, we interpolate
                    if (false /*client == GameServer.Instance.Clients.Me*/)
                    {
                        var me = (OnlineHumanPlayer)client.Player;

                        me.SetNextPosition(arg.Position);
                    }
                    else
                    {
                        client.Player.Position = arg.Position;
                    }

                    client.Player.ChangeLookDirection(arg.Direction);
                }
                else
                {
                    throw new Exception("This player doesn't exist ! (clientId: " + arg.ClientId + ")");
                }
            }
            else
            {
                throw new Exception("This client doesn't exist ! (clientId: " + arg.ClientId + ")");
            }
        }
Esempio n. 3
0
        private void ReceivePosition(float positionX, float positionY, byte direction, int clientId)
        {
            var arg = new MovePlayerArgs
            {
                Position  = { X = positionX, Y = positionY },
                Direction = direction,
                ClientId  = clientId
            };

            OnMovePlayerAction(arg);
        }