From 89977dd5307be1d2af24647b66a7fc4ab5ed136a Mon Sep 17 00:00:00 2001 From: Ino Date: Thu, 24 Jul 2025 09:40:05 +0900 Subject: [PATCH] =?UTF-8?q?Save=5FMissionAll=20=ED=81=B4=EB=9D=BC=EC=9A=B0?= =?UTF-8?q?=EB=93=9C=20=EC=8A=A4=ED=81=AC=EB=A6=BD=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Editor/Resources/.CloudScript.js | 54 ++++++++++++++++--- 1 file changed, 47 insertions(+), 7 deletions(-) diff --git a/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js b/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js index a829c0bf9..164265302 100644 --- a/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js +++ b/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js @@ -2145,6 +2145,24 @@ function Add_MissionCompletCount(urod, group) ++missionGroup[key1][key2][1]; } +function Get_MissionReward(table, itemtable, urod, data) +{ + var group = data.n_MissionGroupId; + var id = data.n_MissionIndex; + + var lv = urod.Mission?.[group]?.[id]?.[0] ?? 0; + var count = Get_MissionCount(urod, data, group, id); + + if (lv == 0 && count >= data.l_MissionConditionCount) + { + Add_Item(table, itemtable, urod, data.n_RewardValue, id); + Add_MissionLv(urod, group, id); + Add_MissionCompletCount(urod, group); + + return true; + } + return false; +} handlers.Save_Mission = function(args) { var readonlydata = Get_UserReadOnlyData(); @@ -2153,16 +2171,38 @@ handlers.Save_Mission = function(args) var urod = Get_JsonUserData(readonlydata); var table = Get_MissionTable(); + var itemtable = Get_ItemTable(); var data = table.find(f=>f.n_MissionGroupId == args.Group && f.n_MissionIndex == args.ID); - var lv = urod.Mission?.[args.Group]?.[args.ID]?.[0] ?? 0; - var count = Get_MissionCount(urod, data, args.Group, args.ID); - - if (lv == 0 && count >= data.l_MissionConditionCount) + + if (Get_MissionReward(table, itemtable, urod, data)) { - Add_Item(table, Get_ItemTable(), urod, data.n_RewardValue, data.n_MissionIndex); - Add_MissionLv(urod, data.n_MissionGroupId, data.n_MissionIndex); - Add_MissionCompletCount(urod, data.n_MissionGroupId); + Set_JsonUserData(urod); + return Get_Return(0); + } + return Get_Return(1); +} +handlers.Save_MissionAll = function(args) +{ + var readonlydata = Get_UserReadOnlyData(); + var error = Get_Error(readonlydata, args.Token); + if (error < 0) return Get_Return(error); + var urod = Get_JsonUserData(readonlydata); + var table = Get_MissionTable(); + var itemtable = Get_ItemTable(); + + let existGet = false; + var lst = table.filter(f=>f.n_MissionGroupId == args.Group); + for (var i = 0; i < lst.length; ++i) + { + 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"))) + existGet = true; + + if (existGet) + { Set_JsonUserData(urod); return Get_Return(0); }