Esempio n. 1
0
        // 방 정보를 얻음
        public static JoinRoom GetRoomInfo(int rid, Network.CPacket packet, int payloadSize)
        {
            int myslot = packet.ReadInt32();
            int ucnt   = packet.ReadInt32();

            Debug.LogFormat("ucnt : ", ucnt);
            List <User> others = new List <User>();

            int[] slots = new int[4];
            int   slot;

            int userCount = payloadSize / 24;

            for (int i = 0; i < userCount; i++)
            {
                string id = packet.ReadString(16);
                slot = packet.ReadInt32();
                int clear = packet.ReadInt32();
                others.Add(new User(id, clear, slot));
                Debug.Log("CClientInfo - JoinRoom : A Slot is " + slot + " and id " + id);
            }

            ThisUser.Slot = myslot;

            return(new JoinRoom(rid, slots, others, false));
        }
Esempio n. 2
0
    // 방 목록 갱신
    private void InterpretRenewRoomList(Network.CPacket packet, int payloadSize)
    {
        Debug.Log("Renew Room");

        DeleteAllRoomToListView();
        rooms.Clear();

        int roomCount = payloadSize / 24;

        if (payloadSize % 24 != 0)
        {
            Debug.Log("Room Renew Error!");
        }

        Debug.LogFormat("Room Count : {0}", roomCount);

        for (int i = 0; i < roomCount; i++)
        {
            int    rid    = packet.ReadInt32();
            int    ucount = packet.ReadInt32();
            string hname  = packet.ReadString(16);

            Debug.Log("Room id = " + rid + " " + hname);

            rooms.Add(new Room(rid, ucount, hname));
        }

        RenewRoomListView();
    }
Esempio n. 3
0
    // 인원이 추가된 경우
    private void InterpretAddGuest(Network.CPacket packet)
    {
        string id    = packet.ReadString(16);
        int    slot  = packet.ReadInt32();
        int    clear = packet.ReadInt32();

        AddGuest(id, slot, clear);
    }
Esempio n. 4
0
    private void InterpretRegisterSuccess(Network.CPacket packet)
    {
        int    uid   = packet.ReadInt32();
        string id    = packet.ReadString(16);
        int    clear = packet.ReadInt32();

        CClientInfo.ThisUser = new CClientInfo.User(uid, id, clear);

        var message = Network.CPacketFactory.CreateLobbyRequest();

        _tcpManager.Send(message.data);
    }
Esempio n. 5
0
    private void PacketInterpret(byte[] data)
    {
        // 헤더 읽기
        Network.CPacket packet = new Network.CPacket(data);
        packet.ReadHeader(out byte payloadSize, out short messageType);
        Debug.LogFormat("ReadyRoom Header : payloadSize = {0}, messageType = {1}", payloadSize, messageType);

        switch ((int)messageType)
        {
        case (int)MessageCode.GameStartAccept:
            GameStart(packet.ReadInt32());
            break;

        case (int)MessageCode.GuestQuitRoom:
            QuitRoom();
            break;

        case (int)MessageCode.HostQuitRoom:
            QuitRoom();
            break;

        case (int)MessageCode.NoticeUserQuit:
            DeleteQuitUser(packet);
            break;

        case (int)MessageCode.NewGuest:
            InterpretAddGuest(packet);
            break;

        default:
            Debug.Log("오류가 발생했습니다. 개발자에게 문의하세요.");
            break;
        }
    }
Esempio n. 6
0
        private void InterpretPortalTeleport(CPacket packet)
        {
            Int32 id;

            Debug.Log("Get Item");

            id = packet.ReadInt32();
        }
Esempio n. 7
0
        private void InterpretSetCharacter(CPacket packet)
        {
            Int32 MyId = packet.ReadInt32();

            _logger.Log($"Set Character : my id - {MyId}");

            //Commander
            playerCommander.SetMyCharacter((int)MyId);
        }
Esempio n. 8
0
        private void InterpretPortalAccept(CPacket packet)
        {
            Int32 id;
            Int32 accept;

            Debug.Log("Get Item");

            id     = packet.ReadInt32();
            accept = packet.ReadInt32();

            if (accept == 0)
            {
                CWaitingForAccept.instance.SetPortalUseSelect(id, CWaitingForAccept.EAccept._accept);
            }
            else if (accept == 1)
            {
                CWaitingForAccept.instance.SetPortalUseSelect(id, CWaitingForAccept.EAccept._cancle);
            }
        }
Esempio n. 9
0
    // 인원이 빠져나감 알림
    private void DeleteQuitUser(Network.CPacket packet)
    {
        int slotNum = packet.ReadInt32();

        CClientInfo.JoinRoom.DeleteUser(slotNum);

        Debug.Log($"Delete User {slotNum}");

        UpdateRoomListView();
    }
Esempio n. 10
0
        private void InterpretUsePortal(CPacket packet)
        {
            Int32 id;

            Debug.Log("Use Portal");

            id = packet.ReadInt32();

            CWaitingForAccept.instance.SetActivePortalPopup(true);
            //playerCommander.UseSkill((int)id, (int)actionNumber, now, dest);
        }
Esempio n. 11
0
        private void InterpretGetItem(CPacket packet)
        {
            Int32 id;

            Debug.Log("Get Item");

            id = packet.ReadInt32();

            GameObject.Destroy(GameObject.FindGameObjectWithTag("ITEM"));

            //playerCommander.UseSkill((int)id, (int)actionNumber, now, dest);
        }
Esempio n. 12
0
        private void InterpretMoveStop(CPacket packet)
        {
            Int32   id;
            Vector3 now;

            id    = packet.ReadInt32();
            now.x = packet.ReadSingle();
            now.y = packet.ReadSingle();
            now.z = packet.ReadSingle();

            _logger.Log("Move Stop - id{0} ({1},{2})", id, now.x, now.y, now.z);
        }
Esempio n. 13
0
        private void InterpretActionCommand(CPacket packet)
        {
            Int32   id;
            Int32   actionNumber;
            Vector3 now, dest;

            Debug.Log("action Command");

            id           = packet.ReadInt32();
            actionNumber = packet.ReadInt32();
            now.x        = packet.ReadSingle();
            now.y        = packet.ReadSingle();
            now.z        = packet.ReadSingle();
            dest.x       = packet.ReadSingle();
            dest.y       = packet.ReadSingle();
            dest.z       = packet.ReadSingle();

            _logger.Log("Action Start - id{0} actionNumber{1} move ({2},{3},{4}) to ({5},{6},{7})",
                        id, actionNumber, now.x, now.y, now.z, dest.x, dest.y, dest.z);

            playerCommander.UseSkill((int)id, (int)actionNumber, now, dest);
        }
Esempio n. 14
0
    // 내 방을 만들기
    private void InterpretCreateRoom(Network.CPacket packet)
    {
        Debug.Log("room Create");
        int rid = packet.ReadInt32();

        CClientInfo.ThisRoom = new CClientInfo.JoinRoom(rid, new int[4] {
            0, -1, -1, -1
        }, new List <CClientInfo.User>(), true);
        CClientInfo.ThisUser.Slot = 0;

        _tcpManager.DeletePacketInterpret();
        SceneManager.LoadScene("Room");
    }
Esempio n. 15
0
        private void InterpretMoveCorrection(CPacket packet)
        {
            Int32   id;
            Vector3 now, dest;

            id     = packet.ReadInt32();
            now.x  = packet.ReadSingle();
            now.y  = packet.ReadSingle();
            now.z  = packet.ReadSingle();
            dest.x = packet.ReadSingle();
            dest.y = packet.ReadSingle();
            dest.z = packet.ReadSingle();

            _logger.Log("Move Correction - id{0} move ({1},{2},{3}) to ({4},{5},{6})",
                        id, now.x, now.y, now.z, dest.x, dest.y, dest.z);
        }
Esempio n. 16
0
        private void InterpretMoveStart(CPacket packet)
        {
            Int32   id;
            Vector3 now, dest;

            id     = packet.ReadInt32();
            now.x  = packet.ReadSingle();
            now.y  = packet.ReadSingle();
            now.z  = packet.ReadSingle();
            dest.x = packet.ReadSingle();
            dest.y = packet.ReadSingle();
            dest.z = packet.ReadSingle();

            _logger.Log("Move Start - id{0} move ({1},{2},{3}) to ({4},{5},{6})",
                        id, now.x, now.y, now.z, dest.x, dest.y, dest.z);

            //Commander
            playerCommander.Move(id, dest);
        }