Пример #1
0
 private void RemotePlayerSurrend(SurrendEvent e)
 {
     if (remotePlayers.ContainsKey(e.ID))
     {
         remotePlayers[e.ID].Stat = PlayerStat.Spectator;
     }
 }
Пример #2
0
    private void PlayerSurrend(SurrendEvent e)
    {
        User surrendUser = RoomManager.instance.RoomInfo.Personnel[e.ID];

        if (e.ID == this.player.ID)
        {
            PacketManager.instance.PutPacket(new Packet(GameManager.instance.Me.ID, Packet.Target.ALL, Packet.Type.SYNC_SURREND, new byte[1] {
                GameManager.instance.Me.ID
            }));
            GameManager.instance.ShowMessage("당신은 항복하였습니다!", 1.0f, MessageType.Important);

            if (RoomManager.instance.RoomInfo.HeadCount == 1)
            {
                GameOver(this.goaler);
                return;
            }
            GameManager.instance.ShowMessage("당신은 관전자!!", 1.0f, MessageType.Commmon);
            player.Stat = PlayerStat.Spectator;
        }
        else
        {
            GameManager.instance.ShowMessage("sdfsdf 님이 항복하였습니다!", 1.0f, MessageType.Important);
        }

        this.surrender.Add(surrendUser);

        if (GameManager.instance.NetPart == SocketPart.Server)
        {
            if (surrender.Count == (RoomManager.instance.RoomInfo.HeadCount - 1) || RoomManager.instance.RoomInfo.HeadCount == 1)
            {
                foreach (User u in RoomManager.instance.RoomInfo.Personnel.Values)
                {
                    if (u.ID != e.ID && !goaler.Contains(u))
                    {
                        goaler.Add(u);
                    }
                }

                goaler.Sort(delegate(User one, User two)
                {
                    float oneX = RemotePlayerController.instance.RemotePlayers[one.ID].Pos.x;
                    float twoY = RemotePlayerController.instance.RemotePlayers[two.ID].Pos.y;

                    if (oneX > twoY)
                    {
                        return(1);
                    }
                    else if (oneX == twoY)
                    {
                        return(0);
                    }
                    else
                    {
                        return(-1);
                    }
                });

                GameOver(this.goaler);
            }
        }
    }