diff --git a/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js b/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js index 3bc26fc6d..f75852198 100644 --- a/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js +++ b/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js @@ -1017,6 +1017,18 @@ handlers.Save_PC_LimitSlotLock = function(args) else return Get_Return(1); } +handlers.Save_PC_LimitPreset = 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); + urod.Equip.LimitPreset = args.Preset; + + Set_JsonUserData(urod); + return Get_Return(0); +} /////////////////////////////////// 서버 처리 handlers.Write_UnityInApp = function(args) diff --git a/Assets/ResWork/Table/butler.xlsm b/Assets/ResWork/Table/butler.xlsm index b6aa55765..36eb0f1e9 100644 Binary files a/Assets/ResWork/Table/butler.xlsm and b/Assets/ResWork/Table/butler.xlsm differ diff --git a/Assets/Script/Server/ServerInfo.cs b/Assets/Script/Server/ServerInfo.cs index 5145079b0..9ce57b399 100644 --- a/Assets/Script/Server/ServerInfo.cs +++ b/Assets/Script/Server/ServerInfo.cs @@ -1261,6 +1261,41 @@ public class ServerInfo : MyCoroutine Set_Coroutine(() => { Save_PC_LimitSlotLock(preset, slot, _act); }, 2f); }); } + public void Save_PC_LimitPreset(int preset, Action _act) + { + NetWait.Ins.Set(true); + PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest + { + FunctionName = MethodBase.GetCurrentMethod().Name, + GeneratePlayStreamEvent = true, + FunctionParameter = new + { + Token = m_LoginInfo.EntityToken.EntityToken, + Preset = preset, + } + }, + result => + { + if (result.Error == null) + { + NetWait.Ins.Set(false); + var str_result = result.FunctionResult.ToString(); + var error = MyErrorCheck(str_result); + // (0 성공, 나머지는 잘못된 요청) + switch (error) + { + case 0: _act?.Invoke(); break; + default: ToastUI.Ins.Set(999900002); break; + } + } + else + Set_Coroutine(() => { Save_PC_LimitPreset(preset, _act); }, 2f); + }, + fail => + { + Set_Coroutine(() => { Save_PC_LimitPreset(preset, _act); }, 2f); + }); + } #endregion #region 우편 diff --git a/Assets/Script/UI/PC/Limit/PCLimitUI_Right.cs b/Assets/Script/UI/PC/Limit/PCLimitUI_Right.cs index 3ab142d3c..5843f9e7a 100644 --- a/Assets/Script/UI/PC/Limit/PCLimitUI_Right.cs +++ b/Assets/Script/UI/PC/Limit/PCLimitUI_Right.cs @@ -23,7 +23,7 @@ public class PCLimitUI_Right : uScrollViewMgr m_Tab.Set_Index(ServerInfo.Ins.m_ServerData.Equip.LimitPreset - 1); for (int i = 0; i < list_TabData.Count; i++) { - list_TabData[i].onClick = OnClick_Preset; + list_TabData[i].onClick = OnClick_Preset_byTouch; } m_Tab.Set(list_TabData); OnClick_Preset(); @@ -94,6 +94,10 @@ public class PCLimitUI_Right : uScrollViewMgr sdata.Equip.LimitPreset.RandomizeCryptoKey(); Set_UI(); } + public void OnClick_Preset_byTouch() + { + ServerInfo.Ins.Save_PC_LimitPreset(m_Tab.Get_Index() + 1, OnClick_Preset); + } public void OnClick_ProtectGrade(int grade) {