コード例 #1
0
        public int HandlePacket(ClientBase client, GamePacket packet)
        {
            int clientID = packet.ReadInt();

            CenterPlayer player = CenterGlobal.PlayerMgr[packet.PlayerID];

            if (player != null && player.Client == client && player.ClientID == clientID)
            {
                CenterGlobal.PlayerMgr.Remove(player.PlayerID);
            }

            return(0);
        }
コード例 #2
0
        public int HandlePacket(ClientBase client, GamePacket packet)
        {
            CenterPlayer player = CenterGlobal.PlayerMgr[packet.PlayerID];

            if (player != null)
            {
                ValidateLoginPacket pkg = new ValidateLoginPacket();
                pkg.PlayerID = player.PlayerID;
                pkg.ClientID = player.ClientID;
                player.SendTcp(pkg);
            }

            return(0);
        }
コード例 #3
0
        public static void SendLoginPacket(ClientBase client, int clientID, string account, int playerID)
        {
            if (playerID != 0)
            {
                LoginInfo info = new LoginInfo();

                info.PlayerID = playerID;
                info.Account  = account;

                CenterPlayer player = new CenterPlayer(info, client);
                player.ClientID = clientID;
                player.Logined();

                if (CenterGlobal.PlayerMgr.Contains(playerID))
                {
                    //TODO: 发送踢下线通知 并在保存到数据库后通知中心服务器进行登陆后续操作

                    CenterPlayer player2 = CenterGlobal.PlayerMgr[playerID];

                    player2.Logout();

                    CenterGlobal.PlayerMgr.Remove(playerID);

                    CenterGlobal.PlayerMgr.Add(playerID, player);

                    KitPlayerPacket p = new KitPlayerPacket();
                    p.PlayerID = playerID;
                    player2.SendTcp(p);
                }
                else
                {
                    CenterGlobal.PlayerMgr.Add(playerID, player);

                    ValidateLoginPacket pkg = new ValidateLoginPacket();
                    pkg.PlayerID = playerID;
                    pkg.ClientID = clientID;
                    player.SendTcp(pkg);
                }
            }
            else
            {
                //TODO: 无此玩家 发送注册包到客户端进行注册

                NoticeRegistePacket pkg = new NoticeRegistePacket();

                pkg.ClientID = clientID;

                client.SendTcp(pkg);
            }
        }
コード例 #4
0
        static void Main(string[] args)
        {
            Player p1 = new ForwardPlayer("zoro");

            p1.Attack();

            Player p2 = new CenterPlayer("luffy");

            p2.Attack();
            p2.Defend();

            Player p3 = new GuardPlayer("robin");

            p3.Attack();

            Player p4 = new AdapterTranslator("姚明");

            p4.Attack();

            Console.ReadLine();
        }
コード例 #5
0
 public void Awake() {
     _cp = GetComponentInParent<CenterPlayer>();
 }