/// <summary> /// API送信:ユニットパーティ編成設定 /// </summary> void SendUnitPartyAssign(Action <bool> finishAction = null) { PacketStructUnit leader = m_PartyMemberUnitGroup.Units.Find(value => value.PartyCharaIndex == GlobalDefine.PartyCharaIndex.LEADER).UnitData; PacketStructUnit mob_1 = m_PartyMemberUnitGroup.Units.Find(value => value.PartyCharaIndex == GlobalDefine.PartyCharaIndex.MOB_1).UnitData; PacketStructUnit mob_2 = m_PartyMemberUnitGroup.Units.Find(value => value.PartyCharaIndex == GlobalDefine.PartyCharaIndex.MOB_2).UnitData; PacketStructUnit mob_3 = m_PartyMemberUnitGroup.Units.Find(value => value.PartyCharaIndex == GlobalDefine.PartyCharaIndex.MOB_3).UnitData; PacketStructUnit[][] partys = UserDataAdmin.Instance.m_StructPartyAssign; PacketStructPartyAssign[] partyAssigns = new PacketStructPartyAssign[partys.Length]; // パーティアサイン情報配列 for (int i = 0; i < partys.Length; ++i) { partyAssigns[i] = new PacketStructPartyAssign(); if (i == m_CurrentSelectPartyIndex) { partyAssigns[i].unit0_unique_id = leader != null ? leader.unique_id : 0; partyAssigns[i].unit1_unique_id = mob_1 != null ? mob_1.unique_id : 0; partyAssigns[i].unit2_unique_id = mob_2 != null ? mob_2.unique_id : 0; partyAssigns[i].unit3_unique_id = mob_3 != null ? mob_3.unique_id : 0; } else { partyAssigns[i].unit0_unique_id = partys[i][0] != null ? partys[i][0].unique_id : 0; partyAssigns[i].unit1_unique_id = partys[i][1] != null ? partys[i][1].unique_id : 0; partyAssigns[i].unit2_unique_id = partys[i][2] != null ? partys[i][2].unique_id : 0; partyAssigns[i].unit3_unique_id = partys[i][3] != null ? partys[i][3].unique_id : 0; } } ServerDataUtilSend.SendPacketAPI_UnitPartyAssign(partyAssigns, m_CurrentSelectPartyIndex) .setSuccessAction(_data => { UserDataAdmin.Instance.m_StructPlayer = _data.UpdateStructPlayer <RecvUnitPartyAssign>((PacketStructPlayer)UserDataAdmin.Instance.m_StructPlayer); UserDataAdmin.Instance.ConvertPartyAssing(); m_IsPartyMemberChange = false; // ダイアログの表示 Dialog newDialog = Dialog.Create(DialogType.DialogOK); newDialog.SetDialogTextFromTextkey(DialogTextType.Title, "un72q_title"); newDialog.SetDialogTextFromTextkey(DialogTextType.MainText, "un72q_content"); newDialog.SetDialogTextFromTextkey(DialogTextType.OKText, "common_button1"); newDialog.SetDialogEvent(DialogButtonEventType.OK, new System.Action(() => { if (finishAction != null) { finishAction(true); } })); newDialog.Show(); }) .setErrorAction(_data => { m_IsPartyMemberChange = false; if (finishAction != null) { finishAction(false); } }) .SendStart(); }
/// <summary> /// API送信:ユニットパーティ編成設定 /// </summary> void SendUnitPartyAssign(Action finishedSendAction = null) { Action endAction = () => { m_UnitPartyCurrent = DefaultUnitPartyCurrent; }; if (UserDataAdmin.Instance.m_StructPlayer.unit_party_current != m_PartyParamPanel.m_CurrentIndex) { // 選択パーティが変わっている場合 PacketStructPartyAssign[] partyAssigns = new PacketStructPartyAssign[UserDataAdmin.Instance.m_StructPartyAssign.Length]; // パーティアサイン情報配列 // パーティアサイン情報設定 for (int i = 0; i < UserDataAdmin.Instance.m_StructPartyAssign.Length; ++i) { PartySelectGroupUnitContext party = m_PartySelectGroup.GetParty(i); partyAssigns[i] = new PacketStructPartyAssign(); if (party != null) { partyAssigns[i].unit0_unique_id = party.PartyData[0] != null ? party.PartyData[0].unique_id : 0; partyAssigns[i].unit1_unique_id = party.PartyData[1] != null ? party.PartyData[1].unique_id : 0; partyAssigns[i].unit2_unique_id = party.PartyData[2] != null ? party.PartyData[2].unique_id : 0; partyAssigns[i].unit3_unique_id = party.PartyData[3] != null ? party.PartyData[3].unique_id : 0; } else { var partyAssign = UserDataAdmin.Instance.m_StructPartyAssign; partyAssigns[i].unit0_unique_id = (partyAssign[i][0] != null) ? partyAssign[i][0].unique_id : 0; partyAssigns[i].unit1_unique_id = (partyAssign[i][1] != null) ? partyAssign[i][1].unique_id : 0; partyAssigns[i].unit2_unique_id = (partyAssign[i][2] != null) ? partyAssign[i][2].unique_id : 0; partyAssigns[i].unit3_unique_id = (partyAssign[i][3] != null) ? partyAssign[i][3].unique_id : 0; } } // 送信開始 ServerDataUtilSend.SendPacketAPI_UnitPartyAssign(partyAssigns, m_PartyParamPanel.m_CurrentIndex) .setSuccessAction(_data => { UserDataAdmin.Instance.m_StructPlayer = _data.UpdateStructPlayer <RecvUnitPartyAssign>((PacketStructPlayer)UserDataAdmin.Instance.m_StructPlayer); UserDataAdmin.Instance.ConvertPartyAssing(); m_IsSendApi = false; endAction(); if (finishedSendAction != null) { finishedSendAction(); } }) .setErrorAction(_data => { m_IsSendApi = false; endAction(); if (finishedSendAction != null) { finishedSendAction(); } }) .SendStart(); m_IsSendApi = true; } else { endAction(); if (finishedSendAction != null) { finishedSendAction(); } } }