示例#1
0
 public void BroadCast(FreeNet.CPacket packet)
 {
     UserManager.FindUser(MasterInfo).token.send(packet);
     foreach (string id in CntPlayerInfo)
     {
         if (id != null)
         {
             UserManager.FindUser(id).token.send(packet);
         }
     }
 }
示例#2
0
        public GameRoom(string ID, string RoomTitle, string IP)
        {
            this.RoomTitle     = RoomTitle;
            this.MasterInfo    = ID;
            this.MasterIP      = IP;
            this.CntPlayer     = 1;
            this.CntPlayerIP   = new string[3];
            this.CntPlayerInfo = new string[3];

            FreeNet.CPacket packet = FreeNet.CPacket.create((short)PROTOCOL.SEND_ENTERROOM);
            packet.push(UserManager.FindUser(MasterInfo).Name);
            packet.push(1);
            UserManager.FindUser(MasterInfo).token.send(packet);
        }
示例#3
0
        public bool JoinRoom(User user, string IP)
        {
            if (CntPlayer == MAX_PLAYER)
            {
                return(false);
            }

            FreeNet.CPacket packet = FreeNet.CPacket.create((short)PROTOCOL.SEND_ENTERROOM);
            packet.push(UserManager.FindUser(MasterInfo).Name);
            packet.push(1);
            user.token.send(packet);

            for (int i = 0; i < CntPlayer - 1; i++)
            {
                packet = FreeNet.CPacket.create((short)PROTOCOL.SEND_ENTERROOM);
                packet.push(UserManager.FindUser(CntPlayerInfo[i]).Name);
                packet.push(0);
                user.token.send(packet);
            }

            packet = FreeNet.CPacket.create((short)PROTOCOL.SEND_ENTERROOM);
            packet.push(user.Name);
            packet.push(0);

            user.token.send(packet);
            BroadCast(packet);

            CntPlayerInfo[CntPlayer - 1] = user.ID;
            CntPlayerIP[CntPlayer - 1]   = IP;

            CntPlayer++;

            FreeNet.CPacket.destroy(packet);

            return(true);
        }
 void IUserState.on_message(FreeNet.CPacket msg)
 {
     // 플레이중 수신된 모든 메시지는 룸으로 넘겨서 처리한다.
     this.owner.battle_room.on_receive(this.owner.player, msg);
 }