Save_GuideQuest
This commit is contained in:
parent
9b51c5e3b4
commit
4cd0450252
|
|
@ -3199,12 +3199,26 @@ 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);
|
||||
}
|
||||
/////////////////////////////////// 서버 처리
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -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 클라 -> 서버
|
||||
|
|
|
|||
|
|
@ -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 우편
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue