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); }
// 스킬 선택 씬에서 선택했던 스킬 번호 획득 함수 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]); } }
// 스킬 선택 종료시, 서버에게 현재 선택한 스킬 정보 송신 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); }
public void SendLocalSkillSelect(SelectedSkillPacket packet) { networkManager.SendReliable <SelectedSkillData>(packet); }