Save_GuideQuest

This commit is contained in:
Ino 2025-08-08 12:41:37 +09:00
parent 9b51c5e3b4
commit 4cd0450252
6 changed files with 61 additions and 11 deletions

View File

@ -3199,13 +3199,27 @@ handlers.Save_GuideQuest = function(args)
var urod = Get_JsonUserData(readonlydata);
var table = Get_MissionTable();
var quest = table.find(f=>f.n_MissionGroupId == 0 && f.n_MissionIndex == urod.GuideQuest.Step);
if (quest)
{
var success = false;
if (quest.e_MissionConditionType == "KILL_MONSTER_ALL") success = true;
else
success = quest.l_MissionConditionCount <= urod.GuideQuest.Count;
if (success)
{
var itemtable = Get_ItemTable();
Add_Item(table, itemtable, urod, quest.n_RewardValue, quest.n_RewardCount);
Set_GuideQuest(urod, true);
Set_JsonUserData(urod);
return Get_Return(0);
return Get_Return(0, { Step: urod.GuideQuest.Step });
}
return Get_Return(1);
}
return Get_Return(2);
}
/////////////////////////////////// 서버 처리
handlers.Write_UnityInApp = function(args)

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -3231,6 +3231,7 @@ public class SC_LimitBreakLvUpResult
public SD_LimitBreakOption option;
public SC_LimitSlotData limitslot;
}
public class SC_GuideQuestResult { public int Step; }
#endregion
#region ->

View File

@ -2652,6 +2652,39 @@ public class ServerInfo : MyCoroutine
Set_Coroutine(() => { Save_Farm_ShopBuy(id, _act); }, 2f);
});
}
public void Save_GuideQuest(Action<SC_GuideQuestResult> _act)
{
NetWait.Ins.Set(true);
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
{
FunctionName = MethodBase.GetCurrentMethod().Name,
GeneratePlayStreamEvent = true,
FunctionParameter = MakeFunctionParams()
},
result =>
{
if (result.Error == null)
{
NetWait.Ins.Set(false);
var str_result = result.FunctionResult.ToString();
var error = MyErrorCheck(str_result);
// (0 성공, 1 실패 (조건 미달), 2 실패 (퀘스트 미존재))
switch (error)
{
case 0: _act?.Invoke(JsonConvert.DeserializeObject<SC_GuideQuestResult>(str_result)); break;
case 1: ToastUI.Ins.Set(999900046); break;
case 2: ToastUI.Ins.Set(999900047); break;
}
}
else
Set_Coroutine(() => { Save_GuideQuest(_act); }, 2f);
},
fail =>
{
Set_Coroutine(() => { Save_GuideQuest(_act); }, 2f);
});
}
#endregion
#region

View File

@ -141,13 +141,15 @@ public class GuideQuestUI : MonoBehaviour
{
var sdata = ServerInfo.Ins.m_ServerData;
if (sdata.GuideQuest.Count >= Tdata.l_MissionConditionCount)
{
ServerInfo.Ins.Save_GuideQuest(result =>
{
showtoast = false;
sdata.GuideQuest.Count = 0;
++sdata.GuideQuest.Step;
//GetItemUI.Ins.Set(sdata.Add_Item(new ItemData(Tdata.e_Reward, Tdata.n_RewardID, Tdata.n_RewardAmount, DSUtil.Format("guide {0}", Tdata.ID), eUICardType.GetItem)));
//GetItemUI.Ins.Show_Items();
sdata.GuideQuest.Step = result.Step;
ObtainItemUI.Ins.Set(new ItemSimpleData { itemid = Tdata.n_RewardValue, amount = Tdata.n_RewardCount });
Set();
});
}
}