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 price = 10 * ((1 + LockCount) * LockCount / 2 + 1);
|
||||
log.info("price : " + price);
|
||||
if (Use_Item(table, urod, matdata.n_Value, price))
|
||||
{
|
||||
var rtnAdd = []; // [{ slot, randombagid, optionlv }]
|
||||
// 슬롯만큼 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;
|
||||
|
|
@ -975,6 +976,10 @@ handlers.Save_PC_LimitSlotOptionChange = function(args)
|
|||
//log.info(olv);
|
||||
|
||||
rtnAdd.push({ slot : OpenSlots[i], randombagid : optionitemID, optionlv : olv });
|
||||
|
||||
// 데이터에 저장
|
||||
lst[OpenSlots[i]].ID = optionitemID;
|
||||
lst[OpenSlots[i]].Lv = olv;
|
||||
}
|
||||
|
||||
//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 class SC_LimitOptionResult
|
||||
{
|
||||
public List<SC_LimitOptionResultData> results;
|
||||
}
|
||||
public class SC_LimitOptionResultData
|
||||
{
|
||||
public int slot, randombagid, optionlv;
|
||||
}
|
||||
#endregion
|
||||
|
|
@ -1183,6 +1183,48 @@ public class ServerInfo : MyCoroutine
|
|||
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
|
||||
|
||||
#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 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();
|
||||
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.Set_LimitSlotID(preset, m_Slot, s_data.randombagid, s_data.optionlv);
|
||||
sdata.Add_MissionCount(ePurpose.HERO_OPTION_CHANGE);
|
||||
sdata.Add_MissionCount(ePurpose.HERO_OPTION_CHANGE_ACC);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
using CodeStage.AntiCheat.ObscuredTypes;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
|
@ -10,6 +11,7 @@ public class PCLimitUI_Right : uScrollViewMgr
|
|||
|
||||
string m_Preset = "1";
|
||||
int m_matID, m_CurProtectGrade, m_ProtectMaxGrade;
|
||||
ObscuredInt mPrice;
|
||||
|
||||
List<TabUIData> list_TabData = new List<TabUIData>
|
||||
{ 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);
|
||||
|
||||
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());
|
||||
if (lv > 9) lv = 0;
|
||||
|
|
@ -79,7 +82,7 @@ public class PCLimitUI_Right : uScrollViewMgr
|
|||
}
|
||||
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; }
|
||||
|
||||
|
|
@ -102,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);
|
||||
|
|
@ -124,11 +127,14 @@ public class PCLimitUI_Right : uScrollViewMgr
|
|||
|
||||
void Change()
|
||||
{
|
||||
var sdata = ServerInfo.Ins.m_ServerData;
|
||||
sdata.Use_Item(m_matID, Get_Price());
|
||||
list_CardBase.ForEach(f => (f as PCLimitSlotCard).Set_Change(m_Preset));
|
||||
Set();
|
||||
MyValue.Get_ActorStatInfoorNull(eRole.PC);
|
||||
NewGameUI.Ins.m_PCUI.Refresh_Money();
|
||||
ServerInfo.Ins.Save_PC_LimitSlotOptionChange(m_Preset, options =>
|
||||
{
|
||||
var sdata = ServerInfo.Ins.m_ServerData;
|
||||
sdata.Use_Item(m_matID, mPrice);
|
||||
list_CardBase.ForEach(f => (f as PCLimitSlotCard).Set_Change(m_Preset, options));
|
||||
Set();
|
||||
MyValue.Get_ActorStatInfoorNull(eRole.PC);
|
||||
NewGameUI.Ins.m_PCUI.Refresh_Money();
|
||||
});
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue