diff --git a/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js b/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js index 164265302..0603209cb 100644 --- a/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js +++ b/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js @@ -527,6 +527,7 @@ handlers.Save_StageResult = function(args) Add_MissionCount(table, urod, "KILL_MONSTER_GRADE_ACC", 1, mobcount, false); Add_MissionCount(table, urod, "KILL_MONSTER_GRADE_ACC", 2, elitemobcount, false); Add_MissionCount(table, urod, "KILL_MONSTER_GRADE_ACC", 3, bossmobcount, false); + Add_MissionCount(table, urod, "ARRIVAL_MAP_LIMIT", args.MapID, 1); Set_JsonUserData(urod); return Get_Return(0); @@ -2028,7 +2029,7 @@ function Get_MissionCount(urod, data, group, id) return urod.PC.Lv; case "CLASS_OPEN_LIMIT": - return PC.Obtain[data.n_MissionConditionValue] ? 1 : 0; + return urod.PC.Obtain[data.n_MissionConditionValue] ? 1 : 0; case "CHECK_PLAYTIME": case "CHECK_PLAYTIME_ACC": @@ -2198,7 +2199,7 @@ handlers.Save_MissionAll = function(args) if (Get_MissionReward(table, itemtable, urod, lst[i])) existGet = true; } - if (Get_MissionReward(table, itemtable, urod, lst.find(f=>f.e_MissionConditionType.includes("_CLEAR_ALL"))) + if (Get_MissionReward(table, itemtable, urod, lst[0])) existGet = true; if (existGet) diff --git a/Assets/Res_Addr/MainUI/NewGameUI.prefab b/Assets/Res_Addr/MainUI/NewGameUI.prefab index 058ce1a4c..9fc55a981 100644 --- a/Assets/Res_Addr/MainUI/NewGameUI.prefab +++ b/Assets/Res_Addr/MainUI/NewGameUI.prefab @@ -78113,6 +78113,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 7578492180160569488} + - {fileID: 5713773737568685615} m_Father: {fileID: 1065787735305380702} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} @@ -138182,6 +138183,7 @@ MonoBehaviour: go_card: {fileID: 5840162431427643664, guid: 7f901e994eb763545b216b8f31498484, type: 3} m_Tab: {fileID: 3567388493906813525} m_Complete: {fileID: 7517454807443385503} + go_noti: {fileID: 2343024151561706458} --- !u!1 &9172498112071959105 GameObject: m_ObjectHideFlags: 0 @@ -142017,6 +142019,136 @@ RectTransform: type: 3} m_PrefabInstance: {fileID: 982367382822248595} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1006629257199570955 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 3797636194539414636} + m_Modifications: + - target: {fileID: 3277595734800223185, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_Name + value: Noti_getall + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_AnchorMin.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_SizeDelta.x + value: 21 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_SizeDelta.y + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -10.5 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -10 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: a00dadd9f440a9140a4635e892b7d8c3, type: 3} +--- !u!1 &2343024151561706458 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 3277595734800223185, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + m_PrefabInstance: {fileID: 1006629257199570955} + m_PrefabAsset: {fileID: 0} +--- !u!224 &5713773737568685615 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4806225947338055204, guid: a00dadd9f440a9140a4635e892b7d8c3, + type: 3} + m_PrefabInstance: {fileID: 1006629257199570955} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1219025499199109936 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Script/Server/ServerClass.cs b/Assets/Script/Server/ServerClass.cs index d2a5a078a..81ff93efc 100644 --- a/Assets/Script/Server/ServerClass.cs +++ b/Assets/Script/Server/ServerClass.cs @@ -1205,6 +1205,16 @@ public partial class ServerData } return 0; } + public bool CanGet_Mission(int group) + { + var lst = table_missionlist.Ins.Get_DataList(group); + for (int i = 0; i < lst.Count; i++) + { + if (CanGet_Mission(group, lst[i].n_MissionIndex)) + return true; + } + return false; + } public bool CanGet_Mission(int group, int _id) { var condition = table_missionlist.Ins.Get_Data_orNull(group, _id); diff --git a/Assets/Script/Server/ServerInfo.cs b/Assets/Script/Server/ServerInfo.cs index 6ed991621..c63b51cd4 100644 --- a/Assets/Script/Server/ServerInfo.cs +++ b/Assets/Script/Server/ServerInfo.cs @@ -11,7 +11,6 @@ using System.Collections.Generic; using System.Reflection; using UnityEngine; using UnityEngine.Networking; -using static InvBaseItem; using Random = UnityEngine.Random; public class ServerInfo : MyCoroutine @@ -822,6 +821,7 @@ public class ServerInfo : MyCoroutine FunctionParameter = new { Token = m_LoginInfo.EntityToken.EntityToken, + MapID = MyValue.MyChoiceMapData.n_MapID, Exp = DropItemInfo.Ins.m_StageDropData.GetExp.GetDecrypted(), Item = items, Mob = MobKill, @@ -2266,6 +2266,41 @@ public class ServerInfo : MyCoroutine Set_Coroutine(() => { Save_Mission(group, id, _act); }, 2f); }); } + public void Save_MissionAll(int group, Action _act) + { + NetWait.Ins.Set(true); + PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest + { + FunctionName = MethodBase.GetCurrentMethod().Name, + GeneratePlayStreamEvent = true, + FunctionParameter = new + { + Token = m_LoginInfo.EntityToken.EntityToken, + Group = group, + } + }, + result => + { + if (result.Error == null) + { + NetWait.Ins.Set(false); + var str_result = result.FunctionResult.ToString(); + var error = MyErrorCheck(str_result); + // (0 성공, 1 실패 (받을 수 없음)) + switch (error) + { + case 0: _act?.Invoke(); break; + case 1: ToastUI.Ins.Set(999900037); break; + } + } + else + Set_Coroutine(() => { Save_MissionAll(group, _act); }, 2f); + }, + fail => + { + Set_Coroutine(() => { Save_MissionAll(group, _act); }, 2f); + }); + } #endregion #region 우편 diff --git a/Assets/Script/UI/Mission/MissionUI.cs b/Assets/Script/UI/Mission/MissionUI.cs index bef6a0fff..6d6e96997 100644 --- a/Assets/Script/UI/Mission/MissionUI.cs +++ b/Assets/Script/UI/Mission/MissionUI.cs @@ -1,9 +1,11 @@ using System.Collections.Generic; +using UnityEngine; public class MissionUI : uScrollViewMgr { public TabUIBase m_Tab; public MissionCard m_Complete; + public GameObject go_noti; List list_tabData = new List { @@ -23,13 +25,21 @@ public class MissionUI : uScrollViewMgr public override void Set_UI() { - m_Complete.Set(table_missionlist.Ins.Get_CompleteData(m_Tab.Get_Index() + 1)); - Set_ScrollView(table_missionlist.Ins.Get_DataList(m_Tab.Get_Index() + 1)); + var group = m_Tab.Get_Index() + 1; + m_Complete.Set(table_missionlist.Ins.Get_CompleteData(group)); + Set_ScrollView(table_missionlist.Ins.Get_DataList(group)); + go_noti.SetActive(ServerInfo.Ins.m_ServerData.CanGet_Mission(group)); } public void OnClick_GetAll() { - ServerInfo.Ins.m_ServerData.Get_MissionRewardAll(m_Tab.Get_Index() + 1); - Set_UI(); + var sdata = ServerInfo.Ins.m_ServerData; + var group = m_Tab.Get_Index() + 1; + if (sdata.CanGet_Mission(group)) + ServerInfo.Ins.Save_MissionAll(group, () => + { + sdata.Get_MissionRewardAll(group); + Set_UI(); + }); } } \ No newline at end of file