Save_PC_LimitSlotOptionChange
This commit is contained in:
parent
6e7d0ebc39
commit
ecdc467250
|
|
@ -948,13 +948,14 @@ handlers.Save_PC_LimitSlotOptionChange = function(args)
|
||||||
|
|
||||||
var table = Get_MissionTable();
|
var table = Get_MissionTable();
|
||||||
var price = 10 * ((1 + LockCount) * LockCount / 2 + 1);
|
var price = 10 * ((1 + LockCount) * LockCount / 2 + 1);
|
||||||
|
log.info("price : " + price);
|
||||||
if (Use_Item(table, urod, matdata.n_Value, price))
|
if (Use_Item(table, urod, matdata.n_Value, price))
|
||||||
{
|
{
|
||||||
var rtnAdd = []; // [{ slot, randombagid, optionlv }]
|
var rtnAdd = []; // [{ slot, randombagid, optionlv }]
|
||||||
// 슬롯만큼 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;
|
||||||
|
|
@ -975,6 +976,10 @@ handlers.Save_PC_LimitSlotOptionChange = function(args)
|
||||||
//log.info(olv);
|
//log.info(olv);
|
||||||
|
|
||||||
rtnAdd.push({ slot : OpenSlots[i], randombagid : optionitemID, optionlv : olv });
|
rtnAdd.push({ slot : OpenSlots[i], randombagid : optionitemID, optionlv : olv });
|
||||||
|
|
||||||
|
// 데이터에 저장
|
||||||
|
lst[OpenSlots[i]].ID = optionitemID;
|
||||||
|
lst[OpenSlots[i]].Lv = olv;
|
||||||
}
|
}
|
||||||
|
|
||||||
//log.info(rtnAdd);
|
//log.info(rtnAdd);
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
[{"n_NeedLimitLv": "1", "n_DropIndex": "9900001", "n_GachaGradeRate1": "5000000", "n_GachaGradeRate2": "3500000", "n_GachaGradeRate3": "1500000", "n_GachaGradeRate4": "0", "n_GachaGradeRate5": "0", "n_GachaGradeRate6": "0", "n_GachaGradeRate7": "0", "n_GachaGradeRate8": "0", "n_GachaGradeRate9": "0"}, {"n_NeedLimitLv": "2", "n_DropIndex": "9900001", "n_GachaGradeRate1": "5000000", "n_GachaGradeRate2": "3500000", "n_GachaGradeRate3": "1500000", "n_GachaGradeRate4": "0", "n_GachaGradeRate5": "0", "n_GachaGradeRate6": "0", "n_GachaGradeRate7": "0", "n_GachaGradeRate8": "0", "n_GachaGradeRate9": "0"}, {"n_NeedLimitLv": "3", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4997764", "n_GachaGradeRate2": "3498130", "n_GachaGradeRate3": "1501224", "n_GachaGradeRate4": "2882", "n_GachaGradeRate5": "0", "n_GachaGradeRate6": "0", "n_GachaGradeRate7": "0", "n_GachaGradeRate8": "0", "n_GachaGradeRate9": "0"}, {"n_NeedLimitLv": "4", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4997764", "n_GachaGradeRate2": "3498130", "n_GachaGradeRate3": "1501224", "n_GachaGradeRate4": "2882", "n_GachaGradeRate5": "0", "n_GachaGradeRate6": "0", "n_GachaGradeRate7": "0", "n_GachaGradeRate8": "0", "n_GachaGradeRate9": "0"}, {"n_NeedLimitLv": "5", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4997764", "n_GachaGradeRate2": "3498130", "n_GachaGradeRate3": "1501224", "n_GachaGradeRate4": "2782", "n_GachaGradeRate5": "100", "n_GachaGradeRate6": "0", "n_GachaGradeRate7": "0", "n_GachaGradeRate8": "0", "n_GachaGradeRate9": "0"}, {"n_NeedLimitLv": "6", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4997764", "n_GachaGradeRate2": "3498130", "n_GachaGradeRate3": "1501224", "n_GachaGradeRate4": "2782", "n_GachaGradeRate5": "200", "n_GachaGradeRate6": "100", "n_GachaGradeRate7": "0", "n_GachaGradeRate8": "0", "n_GachaGradeRate9": "0"}, {"n_NeedLimitLv": "7", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4997764", "n_GachaGradeRate2": "3498130", "n_GachaGradeRate3": "1501224", "n_GachaGradeRate4": "2782", "n_GachaGradeRate5": "300", "n_GachaGradeRate6": "200", "n_GachaGradeRate7": "100", "n_GachaGradeRate8": "0", "n_GachaGradeRate9": "0"}, {"n_NeedLimitLv": "8", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4997764", "n_GachaGradeRate2": "3498130", "n_GachaGradeRate3": "1501224", "n_GachaGradeRate4": "2782", "n_GachaGradeRate5": "400", "n_GachaGradeRate6": "300", "n_GachaGradeRate7": "200", "n_GachaGradeRate8": "100", "n_GachaGradeRate9": "0"}, {"n_NeedLimitLv": "9", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4997764", "n_GachaGradeRate2": "3498130", "n_GachaGradeRate3": "1501224", "n_GachaGradeRate4": "2782", "n_GachaGradeRate5": "500", "n_GachaGradeRate6": "400", "n_GachaGradeRate7": "300", "n_GachaGradeRate8": "200", "n_GachaGradeRate9": "100"}]
|
[{"n_NeedLimitLv": "1", "n_DropIndex": "9900001", "n_GachaGradeRate1": "5000000", "n_GachaGradeRate2": "3500000", "n_GachaGradeRate3": "1500000", "n_GachaGradeRate4": "0", "n_GachaGradeRate5": "0", "n_GachaGradeRate6": "0", "n_GachaGradeRate7": "0", "n_GachaGradeRate8": "0", "n_GachaGradeRate9": "0"}, {"n_NeedLimitLv": "2", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4900000", "n_GachaGradeRate2": "3500000", "n_GachaGradeRate3": "1500000", "n_GachaGradeRate4": "100000", "n_GachaGradeRate5": "0", "n_GachaGradeRate6": "0", "n_GachaGradeRate7": "0", "n_GachaGradeRate8": "0", "n_GachaGradeRate9": "0"}, {"n_NeedLimitLv": "3", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4800000", "n_GachaGradeRate2": "3500000", "n_GachaGradeRate3": "1500000", "n_GachaGradeRate4": "100000", "n_GachaGradeRate5": "100000", "n_GachaGradeRate6": "0", "n_GachaGradeRate7": "0", "n_GachaGradeRate8": "0", "n_GachaGradeRate9": "0"}, {"n_NeedLimitLv": "4", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4700000", "n_GachaGradeRate2": "3500000", "n_GachaGradeRate3": "1500000", "n_GachaGradeRate4": "100000", "n_GachaGradeRate5": "100000", "n_GachaGradeRate6": "100000", "n_GachaGradeRate7": "0", "n_GachaGradeRate8": "0", "n_GachaGradeRate9": "0"}, {"n_NeedLimitLv": "5", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4600000", "n_GachaGradeRate2": "3500000", "n_GachaGradeRate3": "1500000", "n_GachaGradeRate4": "100000", "n_GachaGradeRate5": "100000", "n_GachaGradeRate6": "100000", "n_GachaGradeRate7": "100000", "n_GachaGradeRate8": "0", "n_GachaGradeRate9": "0"}, {"n_NeedLimitLv": "6", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4500000", "n_GachaGradeRate2": "3500000", "n_GachaGradeRate3": "1500000", "n_GachaGradeRate4": "100000", "n_GachaGradeRate5": "100000", "n_GachaGradeRate6": "100000", "n_GachaGradeRate7": "100000", "n_GachaGradeRate8": "100000", "n_GachaGradeRate9": "0"}, {"n_NeedLimitLv": "7", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4400000", "n_GachaGradeRate2": "3500000", "n_GachaGradeRate3": "1500000", "n_GachaGradeRate4": "100000", "n_GachaGradeRate5": "100000", "n_GachaGradeRate6": "100000", "n_GachaGradeRate7": "100000", "n_GachaGradeRate8": "100000", "n_GachaGradeRate9": "100000"}, {"n_NeedLimitLv": "8", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4400000", "n_GachaGradeRate2": "3500000", "n_GachaGradeRate3": "1500000", "n_GachaGradeRate4": "100000", "n_GachaGradeRate5": "100000", "n_GachaGradeRate6": "100000", "n_GachaGradeRate7": "100000", "n_GachaGradeRate8": "100000", "n_GachaGradeRate9": "100000"}, {"n_NeedLimitLv": "9", "n_DropIndex": "9900001", "n_GachaGradeRate1": "4400000", "n_GachaGradeRate2": "3500000", "n_GachaGradeRate3": "1500000", "n_GachaGradeRate4": "100000", "n_GachaGradeRate5": "100000", "n_GachaGradeRate6": "100000", "n_GachaGradeRate7": "100000", "n_GachaGradeRate8": "100000", "n_GachaGradeRate9": "100000"}]
|
||||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -2898,4 +2898,12 @@ public class SC_PCStatInit
|
||||||
{
|
{
|
||||||
public int gem;
|
public int gem;
|
||||||
}
|
}
|
||||||
|
public class SC_LimitOptionResult
|
||||||
|
{
|
||||||
|
public List<SC_LimitOptionResultData> results;
|
||||||
|
}
|
||||||
|
public class SC_LimitOptionResultData
|
||||||
|
{
|
||||||
|
public int slot, randombagid, optionlv;
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
@ -1183,6 +1183,48 @@ public class ServerInfo : MyCoroutine
|
||||||
Set_Coroutine(() => { Save_PC_LimitLvUp(_act); }, 2f);
|
Set_Coroutine(() => { Save_PC_LimitLvUp(_act); }, 2f);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
public void Save_PC_LimitSlotOptionChange(string preset, Action<SC_LimitOptionResult> _act)
|
||||||
|
{
|
||||||
|
NetWait.Ins.Set(true);
|
||||||
|
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
||||||
|
{
|
||||||
|
FunctionName = MethodBase.GetCurrentMethod().Name,
|
||||||
|
GeneratePlayStreamEvent = true,
|
||||||
|
FunctionParameter = new
|
||||||
|
{
|
||||||
|
Token = m_LoginInfo.EntityToken.EntityToken,
|
||||||
|
Preset = preset
|
||||||
|
}
|
||||||
|
},
|
||||||
|
result =>
|
||||||
|
{
|
||||||
|
if (result.Error == null)
|
||||||
|
{
|
||||||
|
NetWait.Ins.Set(false);
|
||||||
|
var str_result = result.FunctionResult.ToString();
|
||||||
|
var error = MyErrorCheck(str_result);
|
||||||
|
// (0 성공, 1 실패 (열린 슬롯 없음), 2 실패 (재화 부족), 3 실패 (각성 재료 id 없음))
|
||||||
|
switch (error)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
{
|
||||||
|
var options = JsonConvert.DeserializeObject<SC_LimitOptionResult>(str_result);
|
||||||
|
_act?.Invoke(options);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 1: ToastUI.Ins.Set(999900011); break;
|
||||||
|
case 2: ToastUI.Ins.Set(388); break;
|
||||||
|
case 3: ToastUI.Ins.Set(999900005); break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Set_Coroutine(() => { Save_PC_LimitSlotOptionChange(preset, _act); }, 2f);
|
||||||
|
},
|
||||||
|
fail =>
|
||||||
|
{
|
||||||
|
Set_Coroutine(() => { Save_PC_LimitSlotOptionChange(preset, _act); }, 2f);
|
||||||
|
});
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 우편
|
#region 우편
|
||||||
|
|
|
||||||
|
|
@ -49,18 +49,31 @@ public class PCLimitSlotCard : CardBase
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Set_Change(string preset)
|
// 기존 클라 기반일 때
|
||||||
|
//public void Set_Change(string preset)
|
||||||
|
//{
|
||||||
|
// var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
|
// var isOpen = table_breakinglimit.Ins.Get_SlotOpenLv(m_Slot) <= sdata.Get_LimitLv();
|
||||||
|
// if (isOpen && m_SData.Lock == 0)
|
||||||
|
// {
|
||||||
|
// var lv = sdata.Get_LimitLv();
|
||||||
|
// var Tdata = table_limitslotmagicrate.Ins.Get_Data_orNull(lv);
|
||||||
|
// var grade = DSUtil.Get_RandomIndex(Tdata.list_rate) + 1;
|
||||||
|
// var itemData = table_randombag.Ins.Get_RandomItemData(Tdata.n_DropIndex, grade);
|
||||||
|
// var optionlv = table_enchantgradeconfig.Ins.Get_Lv(grade);
|
||||||
|
// sdata.Set_LimitSlotID(preset, m_Slot, itemData.itemid, optionlv);
|
||||||
|
// sdata.Add_MissionCount(ePurpose.HERO_OPTION_CHANGE);
|
||||||
|
// sdata.Add_MissionCount(ePurpose.HERO_OPTION_CHANGE_ACC);
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
public void Set_Change(string preset, SC_LimitOptionResult options)
|
||||||
{
|
{
|
||||||
var sdata = ServerInfo.Ins.m_ServerData;
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
var isOpen = table_breakinglimit.Ins.Get_SlotOpenLv(m_Slot) <= sdata.Get_LimitLv();
|
var isOpen = table_breakinglimit.Ins.Get_SlotOpenLv(m_Slot) <= sdata.Get_LimitLv();
|
||||||
if (isOpen && m_SData.Lock == 0)
|
var s_data = options.results.Find(f => f.slot == m_Slot - 1);
|
||||||
|
if (s_data != null)
|
||||||
{
|
{
|
||||||
var lv = sdata.Get_LimitLv();
|
sdata.Set_LimitSlotID(preset, m_Slot, s_data.randombagid, s_data.optionlv);
|
||||||
var Tdata = table_limitslotmagicrate.Ins.Get_Data_orNull(lv);
|
|
||||||
var grade = DSUtil.Get_RandomIndex(Tdata.list_rate) + 1;
|
|
||||||
var itemData = table_randombag.Ins.Get_RandomItemData(Tdata.n_DropIndex, grade);
|
|
||||||
var optionlv = table_enchantgradeconfig.Ins.Get_Lv(grade);
|
|
||||||
sdata.Set_LimitSlotID(preset, m_Slot, itemData.itemid, optionlv);
|
|
||||||
sdata.Add_MissionCount(ePurpose.HERO_OPTION_CHANGE);
|
sdata.Add_MissionCount(ePurpose.HERO_OPTION_CHANGE);
|
||||||
sdata.Add_MissionCount(ePurpose.HERO_OPTION_CHANGE_ACC);
|
sdata.Add_MissionCount(ePurpose.HERO_OPTION_CHANGE_ACC);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
using CodeStage.AntiCheat.ObscuredTypes;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
@ -10,6 +11,7 @@ public class PCLimitUI_Right : uScrollViewMgr
|
||||||
|
|
||||||
string m_Preset = "1";
|
string m_Preset = "1";
|
||||||
int m_matID, m_CurProtectGrade, m_ProtectMaxGrade;
|
int m_matID, m_CurProtectGrade, m_ProtectMaxGrade;
|
||||||
|
ObscuredInt mPrice;
|
||||||
|
|
||||||
List<TabUIData> list_TabData = new List<TabUIData>
|
List<TabUIData> list_TabData = new List<TabUIData>
|
||||||
{ new TabUIData{ btnName = "1" }, new TabUIData{ btnName = "2" }, new TabUIData{ btnName = "3" } };
|
{ new TabUIData{ btnName = "1" }, new TabUIData{ btnName = "2" }, new TabUIData{ btnName = "3" } };
|
||||||
|
|
@ -34,7 +36,8 @@ public class PCLimitUI_Right : uScrollViewMgr
|
||||||
list_CardBase[i].Set(i + 1);
|
list_CardBase[i].Set(i + 1);
|
||||||
|
|
||||||
texts[1].text = NumberFormatter.FormatNumber(sdata.Get_ItemAmount(m_matID));
|
texts[1].text = NumberFormatter.FormatNumber(sdata.Get_ItemAmount(m_matID));
|
||||||
m_Price.amount.text = NumberFormatter.FormatNumber(Get_Price());
|
mPrice = Get_Price(); mPrice.RandomizeCryptoKey();
|
||||||
|
m_Price.amount.text = NumberFormatter.FormatNumber(mPrice);
|
||||||
|
|
||||||
var lv = Mathf.Max(1, sdata.Get_LimitLv());
|
var lv = Mathf.Max(1, sdata.Get_LimitLv());
|
||||||
if (lv > 9) lv = 0;
|
if (lv > 9) lv = 0;
|
||||||
|
|
@ -79,7 +82,7 @@ public class PCLimitUI_Right : uScrollViewMgr
|
||||||
}
|
}
|
||||||
bool CheckMoney(bool showtoast)
|
bool CheckMoney(bool showtoast)
|
||||||
{
|
{
|
||||||
return ServerInfo.Ins.m_ServerData.Check_ItemAmount(m_matID, Get_Price(), showtoast);
|
return ServerInfo.Ins.m_ServerData.Check_ItemAmount(m_matID, mPrice, showtoast);
|
||||||
}
|
}
|
||||||
public string Get_Preset() { return m_Preset; }
|
public string Get_Preset() { return m_Preset; }
|
||||||
|
|
||||||
|
|
@ -102,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);
|
||||||
|
|
@ -124,11 +127,14 @@ public class PCLimitUI_Right : uScrollViewMgr
|
||||||
|
|
||||||
void Change()
|
void Change()
|
||||||
{
|
{
|
||||||
var sdata = ServerInfo.Ins.m_ServerData;
|
ServerInfo.Ins.Save_PC_LimitSlotOptionChange(m_Preset, options =>
|
||||||
sdata.Use_Item(m_matID, Get_Price());
|
{
|
||||||
list_CardBase.ForEach(f => (f as PCLimitSlotCard).Set_Change(m_Preset));
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
Set();
|
sdata.Use_Item(m_matID, mPrice);
|
||||||
MyValue.Get_ActorStatInfoorNull(eRole.PC);
|
list_CardBase.ForEach(f => (f as PCLimitSlotCard).Set_Change(m_Preset, options));
|
||||||
NewGameUI.Ins.m_PCUI.Refresh_Money();
|
Set();
|
||||||
|
MyValue.Get_ActorStatInfoorNull(eRole.PC);
|
||||||
|
NewGameUI.Ins.m_PCUI.Refresh_Money();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue