public void SendSelectionInfo()
    {
        SelectedSkillData data = new SelectedSkillData();

        data.skillIndex = new int[3];

        data.userCamp = MatchingManager.instance.userInfo.userData.playerCamp; // userData.id가 only Integer라는 것을 가정.

        for (int i = 0; i < 3; i++)
        {
            try
            {
                data.skillIndex[i] = selectedSkills[i];
            }
            catch
            {
                data.skillIndex[i] = 0;
                Debug.Log("스킬 선택을 안했음으로 0번째 스킬을 넣습니다.");
            }
        }

        SelectedSkillPacket packet = new SelectedSkillPacket(data);

        GameObject.Find("GameNetworkManager").GetComponent <GameNetworkManager>().SendLocalSkillSelect(packet);
    }
Esempio n. 2
0
        public bool Serialize(SelectedSkillData packet)
        {
            bool ret = true;

            ret &= Serialize(packet.userCamp);
            ret &= Serialize(packet.skillIndex[0]);
            ret &= Serialize(packet.skillIndex[1]);
            ret &= Serialize(packet.skillIndex[2]);

            return(ret);
        }
Esempio n. 3
0
        public bool Deserialize(ref SelectedSkillData element)
        {
            // 데이터가 정의되어있지 않다면
            if (GetDataSize() == 0)
            {
                return(false);
            }

            bool ret = true;

            ret &= Deserialize(ref element.userCamp);
            element.skillIndex = new int[3];
            ret &= Deserialize(ref element.skillIndex[0]);
            ret &= Deserialize(ref element.skillIndex[1]);
            ret &= Deserialize(ref element.skillIndex[2]);

            return(ret);
        }
Esempio n. 4
0
    // 스킬 선택 씬에서 선택했던 스킬 번호 획득 함수
    public void OnReceiveSelectedSkillPacket(PacketId id, byte[] data)
    {
        SelectedSkillPacket packet    = new SelectedSkillPacket(data);
        SelectedSkillData   skillInfo = packet.GetPacket();

        // 스킬 번호 리스트에 추가
        if (skillInfo.userCamp == 1)
        {
            firstCampSkills.Add(skillInfo.skillIndex[0]);
            firstCampSkills.Add(skillInfo.skillIndex[1]);
            firstCampSkills.Add(skillInfo.skillIndex[2]);
        }
        else
        {
            secondCampSkills.Add(skillInfo.skillIndex[0]);
            secondCampSkills.Add(skillInfo.skillIndex[1]);
            secondCampSkills.Add(skillInfo.skillIndex[2]);
        }
    }
Esempio n. 5
0
    // 스킬 선택 종료시, 서버에게 현재 선택한 스킬 정보 송신
    public void SendSelectionInfo()
    {
        // 스킬 3개 선택 안했을 경우 나머지 스킬은 -1으로 채운다.
        for (int i = selectedSkillIndex.Count; i < 3; i++)
        {
            selectedSkillIndex.Add(-1);
        }

        SelectedSkillData data = new SelectedSkillData();

        data.skillIndex = new int[3];

        data.userCamp = MatchingManager.instance.userInfo.userData.playerCamp; // userData.id가 only Integer라는 것을 가정.

        for (int i = 0; i < 3; i++)
        {
            data.skillIndex[i] = selectedSkillIndex[i];
        }

        SelectedSkillPacket packet = new SelectedSkillPacket(data);

        GameObject.Find("MatchingManager").GetComponent <MatchingNetworkManager>().SendReliable <SelectedSkillData>(packet);
    }