From 7726fc03383047bc2dfa20cd32d507b546a579c3 Mon Sep 17 00:00:00 2001 From: Ino Date: Sun, 6 Jul 2025 05:17:26 +0900 Subject: [PATCH] =?UTF-8?q?=EC=8A=A4=ED=82=AC=20=EB=B0=B1=20=EC=A0=80?= =?UTF-8?q?=EC=9E=A5=20=EC=8B=A4=ED=8C=A8=20=EC=8B=9C=20=EB=A1=A4=EB=B0=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Script/Server/ServerInfo.cs | 9 ++++----- Assets/Script/UI/Skill/SkillUI.cs | 11 +++++++++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Assets/Script/Server/ServerInfo.cs b/Assets/Script/Server/ServerInfo.cs index d0b507b96..0e7326910 100644 --- a/Assets/Script/Server/ServerInfo.cs +++ b/Assets/Script/Server/ServerInfo.cs @@ -1603,7 +1603,7 @@ public class ServerInfo : MyCoroutine }); } - public void Save_Skill_MenuBack(int preset, Dictionary> skills, Action _act) + public void Save_Skill_MenuBack(int preset, Dictionary> skills, Action _actfail) { NetWait.Ins.Set(true); PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest @@ -1629,16 +1629,15 @@ public class ServerInfo : MyCoroutine // (0 성공, 1 실패 (없는 스킬)) switch (error) { - case 0: _act?.Invoke(); break; - case 1: ToastUI.Ins.Set(999900023); break; + case 1: _actfail?.Invoke(); ToastUI.Ins.Set(999900023); break; } } else - Set_Coroutine(() => { Save_Skill_MenuBack(preset, skills, _act); }, 2f); + Set_Coroutine(() => { Save_Skill_MenuBack(preset, skills, _actfail); }, 2f); }, fail => { - Set_Coroutine(() => { Save_Skill_MenuBack(preset, skills, _act); }, 2f); + Set_Coroutine(() => { Save_Skill_MenuBack(preset, skills, _actfail); }, 2f); }); } #endregion diff --git a/Assets/Script/UI/Skill/SkillUI.cs b/Assets/Script/UI/Skill/SkillUI.cs index 3136c6f66..350505f95 100644 --- a/Assets/Script/UI/Skill/SkillUI.cs +++ b/Assets/Script/UI/Skill/SkillUI.cs @@ -89,7 +89,7 @@ public class SkillUI : BotMenuBase if (dic_EquipSkill[false][curPreset][i] == skillid) dic_EquipSkill[false][curPreset][i] = 0; } - dic_EquipSkill[false][curPreset][slot - 1] = skillid; + dic_EquipSkill[false][curPreset][slot] = skillid; } public void OnClick_SkillType() @@ -112,7 +112,14 @@ public class SkillUI : BotMenuBase bool save = BeforePreset != AfterPreset; if (!save) save = !AreDictionariesEqual(dic_EquipSkill[true], dic_EquipSkill[false]); - if (save) ServerInfo.Ins.Save_Skill_MenuBack(AfterPreset, dic_EquipSkill[false], null); + if (save) ServerInfo.Ins.Save_Skill_MenuBack(AfterPreset, dic_EquipSkill[false], () => + { // 실패시 원래대로 + var sdata = ServerInfo.Ins.m_ServerData; + sdata.Equip.Preset = BeforePreset; + for (int i = 0; i < 3; i++) + for (int j = 0; j < dic_EquipSkill[true][i + 1].Count; j++) + sdata.Equip.Skill[i + 1][j] = dic_EquipSkill[true][i + 1][j]; + }); } bool AreDictionariesEqual(Dictionary> a, Dictionary> b)