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)
|
handlers.Save_PC_LimitSlotOptionChange = function(args)
|
||||||
{
|
{
|
||||||
var readonlydata = Get_UserReadOnlyData();
|
var readonlydata = Get_UserReadOnlyData();
|
||||||
//var error = Get_Error(readonlydata, args.Token);
|
var error = Get_Error(readonlydata, args.Token);
|
||||||
//if (error < 0) return Get_Return(error);
|
if (error < 0) return Get_Return(error);
|
||||||
|
|
||||||
var urod = Get_JsonUserData(readonlydata);
|
var urod = Get_JsonUserData(readonlydata);
|
||||||
|
|
||||||
|
|
@ -930,7 +930,6 @@ handlers.Save_PC_LimitSlotOptionChange = function(args)
|
||||||
for (var i = 0; i < lst.length; i++)
|
for (var i = 0; i < lst.length; i++)
|
||||||
{
|
{
|
||||||
var limitdata = limittable.find(f=>f.n_limitSlotMagic == i + 1);
|
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 (limitdata.n_LimitLv <= urod.PC.LLv)
|
||||||
{
|
{
|
||||||
if (lst[i].Lock == 0) OpenSlots.push(i);
|
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("OpenSlotCount : " + OpenSlots.length);
|
||||||
log.info("LockCount : " + LockCount);
|
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 global = Get_GlobalValueTable();
|
||||||
var matdata = global.find(f => f.s_ID == "n_BreakingLimitSlotMaterialID");
|
var matdata = global.find(f => f.s_ID == "n_BreakingLimitSlotMaterialID");
|
||||||
|
|
@ -955,7 +954,7 @@ handlers.Save_PC_LimitSlotOptionChange = function(args)
|
||||||
// 슬롯만큼 for문 돌리기
|
// 슬롯만큼 for문 돌리기
|
||||||
for (var i = 0; i < OpenSlots.length; ++i)
|
for (var i = 0; i < OpenSlots.length; ++i)
|
||||||
{
|
{
|
||||||
log.info("옵션 변경 슬롯 : " + OpenSlots[i]);
|
//log.info("옵션 변경 슬롯 : " + OpenSlots[i]);
|
||||||
var limitslotmagicrateTable = Get_LimitSlotMagicRateTable();
|
var limitslotmagicrateTable = Get_LimitSlotMagicRateTable();
|
||||||
var lv = urod.PC.LLv;
|
var lv = urod.PC.LLv;
|
||||||
if (lv > 9) lv = 9;
|
if (lv > 9) lv = 9;
|
||||||
|
|
@ -991,6 +990,33 @@ handlers.Save_PC_LimitSlotOptionChange = function(args)
|
||||||
else
|
else
|
||||||
return Get_Return(2);
|
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)
|
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);
|
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
|
#endregion
|
||||||
|
|
||||||
#region 우편
|
#region 우편
|
||||||
|
|
|
||||||
|
|
@ -84,10 +84,14 @@ public class PCLimitSlotCard : CardBase
|
||||||
public void OnClick_Lock()
|
public void OnClick_Lock()
|
||||||
{
|
{
|
||||||
if (m_SData.ID > 0)
|
if (m_SData.ID > 0)
|
||||||
|
{
|
||||||
|
var preset = PCLimitUI.Ins.m_PCLimitUI_Right.Get_Preset();
|
||||||
|
ServerInfo.Ins.Save_PC_LimitSlotLock(preset, m_Slot, () =>
|
||||||
{
|
{
|
||||||
var sdata = ServerInfo.Ins.m_ServerData;
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
sdata.Set_LimitSlotLock(PCLimitUI.Ins.m_PCLimitUI_Right.Get_Preset(), m_Slot);
|
sdata.Set_LimitSlotLock(preset, m_Slot);
|
||||||
PCLimitUI.Ins.m_PCLimitUI_Right.Set();
|
PCLimitUI.Ins.m_PCLimitUI_Right.Set();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -105,7 +105,7 @@ public class PCLimitUI_Right : uScrollViewMgr
|
||||||
|
|
||||||
public void OnClick_Change()
|
public void OnClick_Change()
|
||||||
{
|
{
|
||||||
//if (IsOpenSlot() && CheckMoney(true))
|
if (IsOpenSlot() && CheckMoney(true))
|
||||||
{
|
{
|
||||||
var sdata = ServerInfo.Ins.m_ServerData;
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
var lst = sdata.Get_LimitSlot(m_Preset);
|
var lst = sdata.Get_LimitSlot(m_Preset);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue