Equals() public method

public Equals ( Player player ) : bool
player Player
return bool
コード例 #1
0
ファイル: Game.cs プロジェクト: mycard/ygosharp
        public void StartDuel(Player player)
        {
            if (State != GameState.Lobby)
                return;
            if (!player.Equals(HostPlayer))
                return;
            for (int i = 0; i < Players.Length; i++)
            {
                if (!IsReady[i])
                    return;
                if (Players[i] == null)
                    return;
            }

            State = GameState.Hand;
            SendToAll(new GamePacketWriter(StocMessage.DuelStart));

            SendHand();

            if (OnGameStart != null)
            {
                OnGameStart(this, EventArgs.Empty);
            }
        }
コード例 #2
0
ファイル: Game.cs プロジェクト: mycard/ygosharp
        public void RemovePlayer(Player player)
        {
            if (player.Equals(HostPlayer) && State == GameState.Lobby)
            {
                _server.Stop();
                return;
            }

            if (player.Type == (int)PlayerType.Observer)
            {
                Observers.Remove(player);
                if (State == GameState.Lobby)
                {
                    GamePacketWriter nwatch = new GamePacketWriter(StocMessage.HsWatchChange);
                    nwatch.Write((short) Observers.Count);
                    SendToAll(nwatch);
                }
                player.Disconnect();
            }
            else if (State == GameState.Lobby)
            {
                Players[player.Type] = null;
                IsReady[player.Type] = false;
                GamePacketWriter change = new GamePacketWriter(StocMessage.HsPlayerChange);
                change.Write((byte)((player.Type << 4) + (int) PlayerChange.Leave));
                SendToAll(change);
                player.Disconnect();
            }
            else
                Surrender(player, 4, true);

            if (OnPlayerLeave != null)
            {
                OnPlayerLeave(this, new PlayerEventArgs(player));
            }
        }
コード例 #3
0
ファイル: Game.cs プロジェクト: mycard/ygosharp
 public void KickPlayer(Player player, int pos)
 {
     if (State != GameState.Lobby)
         return;
     if (pos >= Players.Length || !player.Equals(HostPlayer) || player.Equals(Players[pos]) || Players[pos] == null)
         return;
     RemovePlayer(Players[pos]);
 }
コード例 #4
0
ファイル: Game.cs プロジェクト: Ygocore/ygosharp_v0.1.1
        public void StartDuel(Player player) {
            if (State != GameState.Lobby)
                return;
            if (!player.Equals(HostPlayer))
                return;
            for (int i = 0; i < Players.Length; i++) {
                if (!IsReady[i])
                    return;
                if (Players[i] == null)
                    return;
            }

            State = GameState.Hand;
            SendToAll(new GameServerPacket(StocMessage.DuelStart));

            SendHand();
        }