Save_PC_LimitSlotLock
This commit is contained in:
parent
ecdc467250
commit
3727109e07
|
|
@ -917,8 +917,8 @@ handlers.Save_PC_LimitLvUp = function(args)
|
|||
handlers.Save_PC_LimitSlotOptionChange = function(args)
|
||||
{
|
||||
var readonlydata = Get_UserReadOnlyData();
|
||||
//var error = Get_Error(readonlydata, args.Token);
|
||||
//if (error < 0) return Get_Return(error);
|
||||
var error = Get_Error(readonlydata, args.Token);
|
||||
if (error < 0) return Get_Return(error);
|
||||
|
||||
var urod = Get_JsonUserData(readonlydata);
|
||||
|
||||
|
|
@ -930,7 +930,6 @@ handlers.Save_PC_LimitSlotOptionChange = function(args)
|
|||
for (var i = 0; i < lst.length; i++)
|
||||
{
|
||||
var limitdata = limittable.find(f=>f.n_limitSlotMagic == i + 1);
|
||||
var isOpen = limitdata.n_LimitLv <= urod.PC.LLv;
|
||||
if (limitdata.n_LimitLv <= urod.PC.LLv)
|
||||
{
|
||||
if (lst[i].Lock == 0) OpenSlots.push(i);
|
||||
|
|
@ -940,7 +939,7 @@ handlers.Save_PC_LimitSlotOptionChange = function(args)
|
|||
}
|
||||
log.info("OpenSlotCount : " + OpenSlots.length);
|
||||
log.info("LockCount : " + LockCount);
|
||||
if (OpenSlots.length == 0) return Get_Return(2);
|
||||
if (OpenSlots.length == 0) return Get_Return(1);
|
||||
|
||||
var global = Get_GlobalValueTable();
|
||||
var matdata = global.find(f => f.s_ID == "n_BreakingLimitSlotMaterialID");
|
||||
|
|
@ -955,7 +954,7 @@ handlers.Save_PC_LimitSlotOptionChange = function(args)
|
|||
// 슬롯만큼 for문 돌리기
|
||||
for (var i = 0; i < OpenSlots.length; ++i)
|
||||
{
|
||||
log.info("옵션 변경 슬롯 : " + OpenSlots[i]);
|
||||
//log.info("옵션 변경 슬롯 : " + OpenSlots[i]);
|
||||
var limitslotmagicrateTable = Get_LimitSlotMagicRateTable();
|
||||
var lv = urod.PC.LLv;
|
||||
if (lv > 9) lv = 9;
|
||||
|
|
@ -991,6 +990,33 @@ handlers.Save_PC_LimitSlotOptionChange = function(args)
|
|||
else
|
||||
return Get_Return(2);
|
||||
}
|
||||
handlers.Save_PC_LimitSlotLock = 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 limittable = Get_BreakingLimitTable();
|
||||
var lv = urod.PC.LLv;
|
||||
if (lv > 9) lv = 9;
|
||||
var limitdata = limittable.find(f=>f.n_LimitLv == lv);
|
||||
if (limitdata.n_limitSlotMagic >= args.Slot)
|
||||
{
|
||||
var slot = urod.LimitSlot[args.Preset][args.Slot - 1];
|
||||
|
||||
// 잠기지 않았다면 잠금, 잠겼다면 잠금 해제
|
||||
if (slot.Lock == 0) slot.Lock = 1;
|
||||
else slot.Lock = 0;
|
||||
|
||||
Set_JsonUserData(urod);
|
||||
return Get_Return(0);
|
||||
}
|
||||
else
|
||||
return Get_Return(1);
|
||||
}
|
||||
/////////////////////////////////// 서버 처리
|
||||
|
||||
handlers.Write_UnityInApp = function(args)
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -1225,6 +1225,42 @@ public class ServerInfo : MyCoroutine
|
|||
Set_Coroutine(() => { Save_PC_LimitSlotOptionChange(preset, _act); }, 2f);
|
||||
});
|
||||
}
|
||||
public void Save_PC_LimitSlotLock(string preset, int slot, 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,
|
||||
Slot = slot,
|
||||
}
|
||||
},
|
||||
result =>
|
||||
{
|
||||
if (result.Error == null)
|
||||
{
|
||||
NetWait.Ins.Set(false);
|
||||
var str_result = result.FunctionResult.ToString();
|
||||
var error = MyErrorCheck(str_result);
|
||||
// (0 성공, 1 실패 (열린 슬롯이 아님))
|
||||
switch (error)
|
||||
{
|
||||
case 0: _act?.Invoke(); break;
|
||||
case 1: ToastUI.Ins.Set(999900012); break;
|
||||
}
|
||||
}
|
||||
else
|
||||
Set_Coroutine(() => { Save_PC_LimitSlotLock(preset, slot, _act); }, 2f);
|
||||
},
|
||||
fail =>
|
||||
{
|
||||
Set_Coroutine(() => { Save_PC_LimitSlotLock(preset, slot, _act); }, 2f);
|
||||
});
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 우편
|
||||
|
|
|
|||
|
|
@ -85,9 +85,13 @@ public class PCLimitSlotCard : CardBase
|
|||
{
|
||||
if (m_SData.ID > 0)
|
||||
{
|
||||
var sdata = ServerInfo.Ins.m_ServerData;
|
||||
sdata.Set_LimitSlotLock(PCLimitUI.Ins.m_PCLimitUI_Right.Get_Preset(), m_Slot);
|
||||
PCLimitUI.Ins.m_PCLimitUI_Right.Set();
|
||||
var preset = PCLimitUI.Ins.m_PCLimitUI_Right.Get_Preset();
|
||||
ServerInfo.Ins.Save_PC_LimitSlotLock(preset, m_Slot, () =>
|
||||
{
|
||||
var sdata = ServerInfo.Ins.m_ServerData;
|
||||
sdata.Set_LimitSlotLock(preset, m_Slot);
|
||||
PCLimitUI.Ins.m_PCLimitUI_Right.Set();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -105,7 +105,7 @@ public class PCLimitUI_Right : uScrollViewMgr
|
|||
|
||||
public void OnClick_Change()
|
||||
{
|
||||
//if (IsOpenSlot() && CheckMoney(true))
|
||||
if (IsOpenSlot() && CheckMoney(true))
|
||||
{
|
||||
var sdata = ServerInfo.Ins.m_ServerData;
|
||||
var lst = sdata.Get_LimitSlot(m_Preset);
|
||||
|
|
|
|||
Loading…
Reference in New Issue