Save_PC_MenuBack 초월 옵션 추가 등
This commit is contained in:
parent
d5ff5415ba
commit
8b09deff8f
|
|
@ -798,44 +798,47 @@ handlers.Save_PC_MenuBack = function(args)
|
||||||
var awakenupgradeid = Get_GlobalValue_nValue("AWAKEN_GOODS_UPGRADE");
|
var awakenupgradeid = Get_GlobalValue_nValue("AWAKEN_GOODS_UPGRADE");
|
||||||
var awakenUpgradeTable = Get_AwakenUpgradeTable();
|
var awakenUpgradeTable = Get_AwakenUpgradeTable();
|
||||||
var useawakenMatIds = {};
|
var useawakenMatIds = {};
|
||||||
|
|
||||||
|
var allStatKeys = new Set();
|
||||||
|
for (var i = 0; i < awakenData.upgrade.length; ++i) allStatKeys.add(awakenData.upgrade[i].Key);
|
||||||
|
for (var i = 0; i < awakenData.awaken.length; ++i) allStatKeys.add(awakenData.awaken[i].Key);
|
||||||
|
|
||||||
for (var i = 0; i < awakenData.upgrade.length; ++i)
|
for (let statKey of allStatKeys)
|
||||||
{
|
{
|
||||||
var statKey = awakenData.upgrade[i].Key;
|
var upgradeValue = parseInt((awakenData.upgrade.find(x => x.Key === statKey)?.Value) || 0);
|
||||||
var upgradeValue = parseInt(awakenData.upgrade[i].Value || 0);
|
var awakenValue = parseInt((awakenData.awaken.find(x => x.Key === statKey)?.Value) || 0);
|
||||||
var awakenValue = parseInt(awakenData.awaken[i].Value || 0);
|
|
||||||
|
|
||||||
if (upgradeValue > 0)
|
for (var j = 0; j < upgradeValue; ++j)
|
||||||
for (var j = 0; j < upgradeValue; ++j)
|
|
||||||
{
|
|
||||||
var lv = urod.Awaken[statKey].Lv;
|
|
||||||
var audata = awakenUpgradeTable.find(f=>f.n_AwakenStep == lv);
|
|
||||||
|
|
||||||
if (urod.Awaken[statKey].Exp >= audata.n_MaxUpgradeLevel && awakenValue > 0)
|
|
||||||
{ // 각성 각성
|
|
||||||
var awakenmat = Get_GlobalValue_nValue(Get_PCAwakenMatKey(statKey));
|
|
||||||
if (!useawakenMatIds[awakenmat]) useawakenMatIds[awakenmat] = true;
|
|
||||||
if (Use_Item(table, urod, awakenmat, audata.n_AwakenGoodsCost))
|
|
||||||
{
|
|
||||||
--awakenValue;
|
|
||||||
urod.Awaken[statKey].Exp = 0;
|
|
||||||
++urod.Awaken[statKey].Lv;
|
|
||||||
--j;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else break;
|
|
||||||
}
|
|
||||||
|
|
||||||
var price = Get_K_Value(lv, audata.f_BalanceConstant, audata.n_DefaultUpgradeCostValue, audata.f_CountPerUpgradeCostValue);
|
|
||||||
if (urod.Awaken[statKey].Exp < audata.n_MaxUpgradeLevel && Use_Item(table, urod, awakenupgradeid, price))
|
|
||||||
++urod.Awaken[statKey].Exp;
|
|
||||||
}
|
|
||||||
else if (awakenValue > 0)
|
|
||||||
{
|
{
|
||||||
var lv = urod.Awaken[statKey].Lv;
|
var lv = urod.Awaken[statKey].Lv;
|
||||||
var audata = awakenUpgradeTable.find(f=>f.n_AwakenStep == lv);
|
var audata = awakenUpgradeTable.find(f => f.n_AwakenStep == lv);
|
||||||
|
|
||||||
|
if (urod.Awaken[statKey].Exp >= audata.n_MaxUpgradeLevel && awakenValue > 0)
|
||||||
|
{
|
||||||
|
var awakenmat = Get_GlobalValue_nValue(Get_PCAwakenMatKey(statKey));
|
||||||
|
if (!useawakenMatIds[awakenmat]) useawakenMatIds[awakenmat] = true;
|
||||||
|
if (Use_Item(table, urod, awakenmat, audata.n_AwakenGoodsCost))
|
||||||
|
{
|
||||||
|
--awakenValue;
|
||||||
|
urod.Awaken[statKey].Exp = 0;
|
||||||
|
++urod.Awaken[statKey].Lv;
|
||||||
|
--j; // 다시 반복
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else break;
|
||||||
|
}
|
||||||
|
|
||||||
|
var price = Get_K_Value(lv, audata.f_BalanceConstant, audata.n_DefaultUpgradeCostValue, audata.f_CountPerUpgradeCostValue);
|
||||||
|
if (urod.Awaken[statKey].Exp < audata.n_MaxUpgradeLevel && Use_Item(table, urod, awakenupgradeid, price))
|
||||||
|
++urod.Awaken[statKey].Exp;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (upgradeValue == 0 && awakenValue > 0)
|
||||||
|
{
|
||||||
|
var lv = urod.Awaken[statKey].Lv;
|
||||||
|
var audata = awakenUpgradeTable.find(f => f.n_AwakenStep == lv);
|
||||||
if (urod.Awaken[statKey].Exp >= audata.n_MaxUpgradeLevel)
|
if (urod.Awaken[statKey].Exp >= audata.n_MaxUpgradeLevel)
|
||||||
{ // 각성 각성
|
{
|
||||||
var awakenmat = Get_GlobalValue_nValue(Get_PCAwakenMatKey(statKey));
|
var awakenmat = Get_GlobalValue_nValue(Get_PCAwakenMatKey(statKey));
|
||||||
if (!useawakenMatIds[awakenmat]) useawakenMatIds[awakenmat] = true;
|
if (!useawakenMatIds[awakenmat]) useawakenMatIds[awakenmat] = true;
|
||||||
if (Use_Item(table, urod, awakenmat, audata.n_AwakenGoodsCost))
|
if (Use_Item(table, urod, awakenmat, audata.n_AwakenGoodsCost))
|
||||||
|
|
@ -868,6 +871,13 @@ handlers.Save_PC_MenuBack = function(args)
|
||||||
// 초월 프리셋
|
// 초월 프리셋
|
||||||
urod.Equip.LimitPreset = args.Preset;
|
urod.Equip.LimitPreset = args.Preset;
|
||||||
|
|
||||||
|
// 초월 옵션
|
||||||
|
log.info(args.LimitSlotData.Preset);
|
||||||
|
log.info(urod.LimitBreakOption.Preset);
|
||||||
|
urod.LimitBreakOption.Preset = args.LimitSlotData.Preset;
|
||||||
|
log.info(urod.LimitBreakOption.Preset);
|
||||||
|
Set_LimitSlotOption(table, urod, args);
|
||||||
|
|
||||||
Set_JsonUserData(urod);
|
Set_JsonUserData(urod);
|
||||||
return Get_Return(0, {
|
return Get_Return(0, {
|
||||||
awakekMats : rtn_awakenMatIds,
|
awakekMats : rtn_awakenMatIds,
|
||||||
|
|
@ -1181,21 +1191,26 @@ handlers.Save_PC_LimitLvUp = function(args)
|
||||||
else
|
else
|
||||||
return Get_Return(1); // PC 레벨 부족
|
return Get_Return(1); // PC 레벨 부족
|
||||||
}
|
}
|
||||||
|
function Set_LimitSlotOption(table, urod, args, makeoption = false)
|
||||||
|
{
|
||||||
|
Use_Item(table, urod, Get_GlobalValue_nValue("n_BreakingLimitSlotMaterialID"), args.LimitSlotData.Price);
|
||||||
|
urod.LimitSlot = args.LimitSlotData.LimitSlot;
|
||||||
|
if (makeoption) Make_LimitBreakOption(urod);
|
||||||
|
|
||||||
|
Add_MissionCount(table, urod, "HERO_OPTION_CHANGE", 0, args.LimitSlotData.Count, false);
|
||||||
|
Add_MissionCount(table, urod, "HERO_OPTION_CHANGE_ACC", 0, args.LimitSlotData.Count, false);
|
||||||
|
}
|
||||||
handlers.Save_PC_LimitSlotOption = function(args)
|
handlers.Save_PC_LimitSlotOption = 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);
|
||||||
|
if (CheckNullOrEmpty(args.LimitSlotData)) return Get_Return(1);
|
||||||
|
|
||||||
var urod = Get_JsonUserData(readonlydata);
|
var urod = Get_JsonUserData(readonlydata);
|
||||||
var table = Get_MissionTable();
|
var table = Get_MissionTable();
|
||||||
Use_Item(table, urod, Get_GlobalValue_nValue("n_BreakingLimitSlotMaterialID"), args.UseAmount);
|
|
||||||
urod.LimitSlot = args.LimitSlot;
|
Set_LimitSlotOption(table, urod, args, true);
|
||||||
Make_LimitBreakOption(urod);
|
|
||||||
|
|
||||||
Add_MissionCount(table, urod, "HERO_OPTION_CHANGE", 0, args.ChangeCount, false);
|
|
||||||
Add_MissionCount(table, urod, "HERO_OPTION_CHANGE_ACC", 0, args.ChangeCount, false);
|
|
||||||
|
|
||||||
Set_JsonUserData(urod);
|
Set_JsonUserData(urod);
|
||||||
return Get_Return(0, { option : urod.LimitBreakOption });
|
return Get_Return(0, { option : urod.LimitBreakOption });
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -859,7 +859,8 @@ public class ServerInfo : MyCoroutine
|
||||||
Set_Coroutine(() => { Save_StageResult(_act); }, 2f);
|
Set_Coroutine(() => { Save_StageResult(_act); }, 2f);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
public void Save_PC_MenuBack(int costumeid, int workerid, int jobid, int preset, CS_AwakenData awakenData, Action<SC_PCMenuBackResult> _act)
|
public void Save_PC_MenuBack(int costumeid, int workerid, int jobid, int preset,
|
||||||
|
CS_AwakenData awakenData, LimitSlotChangeData limitslotData, Action<SC_PCMenuBackResult> _act)
|
||||||
{
|
{
|
||||||
NetWait.Ins.Set(true);
|
NetWait.Ins.Set(true);
|
||||||
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
||||||
|
|
@ -873,7 +874,8 @@ public class ServerInfo : MyCoroutine
|
||||||
WorkerID = workerid,
|
WorkerID = workerid,
|
||||||
JobID = jobid,
|
JobID = jobid,
|
||||||
Preset = preset,
|
Preset = preset,
|
||||||
AwakenData = awakenData
|
AwakenData = awakenData,
|
||||||
|
LimitSlotData = limitslotData
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
result =>
|
result =>
|
||||||
|
|
@ -893,11 +895,11 @@ public class ServerInfo : MyCoroutine
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Set_Coroutine(() => { Save_PC_MenuBack(costumeid, workerid, jobid, preset, awakenData, _act); }, 2f);
|
Set_Coroutine(() => { Save_PC_MenuBack(costumeid, workerid, jobid, preset, awakenData, limitslotData, _act); }, 2f);
|
||||||
},
|
},
|
||||||
fail =>
|
fail =>
|
||||||
{
|
{
|
||||||
Set_Coroutine(() => { Save_PC_MenuBack(costumeid, workerid, jobid, preset, awakenData, _act); }, 2f);
|
Set_Coroutine(() => { Save_PC_MenuBack(costumeid, workerid, jobid, preset, awakenData, limitslotData, _act); }, 2f);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1128,10 +1130,10 @@ public class ServerInfo : MyCoroutine
|
||||||
Set_Coroutine(() => { Save_PC_LimitLvUp(_act); }, 2f);
|
Set_Coroutine(() => { Save_PC_LimitLvUp(_act); }, 2f);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
public void Save_PC_LimitSlotOption(int useAmount, int change, Action _act)
|
public void Save_PC_LimitSlotOption(LimitSlotChangeData limitslotData, Action _act)
|
||||||
{
|
{
|
||||||
NetWait.Ins.Set(true);
|
NetWait.Ins.Set(true);
|
||||||
var serverread = m_ServerData.Get_ServerRead();
|
var lsd = limitslotData.Get();
|
||||||
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
||||||
{
|
{
|
||||||
FunctionName = MethodBase.GetCurrentMethod().Name,
|
FunctionName = MethodBase.GetCurrentMethod().Name,
|
||||||
|
|
@ -1139,9 +1141,7 @@ public class ServerInfo : MyCoroutine
|
||||||
FunctionParameter = new
|
FunctionParameter = new
|
||||||
{
|
{
|
||||||
Token = m_LoginInfo.EntityToken.EntityToken,
|
Token = m_LoginInfo.EntityToken.EntityToken,
|
||||||
UseAmount = useAmount,
|
LimitSlotData = lsd
|
||||||
ChangeCount = change,
|
|
||||||
LimitSlot = serverread.LimitSlot
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
result =>
|
result =>
|
||||||
|
|
@ -1158,14 +1158,17 @@ public class ServerInfo : MyCoroutine
|
||||||
_act();
|
_act();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Set_Coroutine(() => { Save_PC_LimitSlotOption(useAmount, change, _act); }, 2f);
|
{
|
||||||
|
ToastUI.Ins.Set(174, "데이터 없음");
|
||||||
|
Set_Coroutine(() => { Save_PC_LimitSlotOption(limitslotData, _act); }, 5f);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Set_Coroutine(() => { Save_PC_LimitSlotOption(useAmount, change, _act); }, 2f);
|
Set_Coroutine(() => { Save_PC_LimitSlotOption(limitslotData, _act); }, 2f);
|
||||||
},
|
},
|
||||||
fail =>
|
fail =>
|
||||||
{
|
{
|
||||||
Set_Coroutine(() => { Save_PC_LimitSlotOption(useAmount, change, _act); }, 2f);
|
Set_Coroutine(() => { Save_PC_LimitSlotOption(limitslotData, _act); }, 2f);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
public void Save_PC_LimitSlotOptionChange(string preset, Action<SC_LimitOptionResult> _act)
|
public void Save_PC_LimitSlotOptionChange(string preset, Action<SC_LimitOptionResult> _act)
|
||||||
|
|
|
||||||
|
|
@ -88,20 +88,21 @@ public class PCLimitSlotCard : CardBase
|
||||||
public void Set_Change(string preset, int ipreset)
|
public void Set_Change(string preset, int ipreset)
|
||||||
{
|
{
|
||||||
var sdata = ServerInfo.Ins.m_ServerData;
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
|
var optionindex = ipreset + 1;
|
||||||
|
var presetindex = ipreset;
|
||||||
if (!isCloseSlot() && !sdata.isLock_LimitSlot(preset, m_Slot))
|
if (!isCloseSlot() && !sdata.isLock_LimitSlot(preset, m_Slot))
|
||||||
{
|
{
|
||||||
var option = sdata.LimitBreakOption.Option[ipreset][sdata.LimitBreakOption.Preset[ipreset]++];
|
var option = sdata.LimitBreakOption.Option[optionindex][sdata.LimitBreakOption.Preset[presetindex]++];
|
||||||
if (sdata.LimitBreakOption.Preset[ipreset] >= sdata.LimitBreakOption.Option[ipreset].Count)
|
if (sdata.LimitBreakOption.Preset[presetindex] >= sdata.LimitBreakOption.Option[optionindex].Count)
|
||||||
{
|
{
|
||||||
sdata.LimitBreakOption.Preset[ipreset] = 0;
|
sdata.LimitBreakOption.Preset[presetindex] = 0;
|
||||||
// 다음 테이블 서버에서 받아오기
|
// 다음 테이블 서버에서 받아오기
|
||||||
PCLimitUI.Ins.m_PCLimitUI_Right.ChangeOption = true;
|
PCLimitUI.Ins.m_PCLimitUI_Right.ChangeOption = true;
|
||||||
}
|
}
|
||||||
sdata.Set_LimitSlotID(preset, m_Slot, option.id, option.lv);
|
sdata.Set_LimitSlotID(preset, m_Slot, option.id, option.lv);
|
||||||
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);
|
||||||
++PCLimitUI.Ins.m_PCLimitUI_Right.MissionCount;
|
PCLimitUI.Ins.m_PCLimitUI_Right.m_LimitSlotChangeData.Add_MissionCount();
|
||||||
PCLimitUI.Ins.m_PCLimitUI_Right.MissionCount.RandomizeCryptoKey();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -113,11 +114,11 @@ public class PCLimitSlotCard : CardBase
|
||||||
var preset = PCLimitUI.Ins.m_PCLimitUI_Right.Get_Preset();
|
var preset = PCLimitUI.Ins.m_PCLimitUI_Right.Get_Preset();
|
||||||
if (m_SData.ID > 0 || sdata.isLock_LimitSlot(preset, m_Slot))
|
if (m_SData.ID > 0 || sdata.isLock_LimitSlot(preset, m_Slot))
|
||||||
{
|
{
|
||||||
ServerInfo.Ins.Save_PC_LimitSlotLock(preset, m_Slot, () =>
|
//ServerInfo.Ins.Save_PC_LimitSlotLock(preset, m_Slot, () =>
|
||||||
{
|
//{
|
||||||
sdata.Set_LimitSlotLock(preset, m_Slot);
|
sdata.Set_LimitSlotLock(preset, m_Slot);
|
||||||
PCLimitUI.Ins.m_PCLimitUI_Right.Set();
|
PCLimitUI.Ins.m_PCLimitUI_Right.Set();
|
||||||
});
|
//});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,10 +1,8 @@
|
||||||
public class PCLimitUI : PCUIMenu
|
public class PCLimitUI : PCUIMenu
|
||||||
{
|
{
|
||||||
|
public static bool isIns;
|
||||||
public static PCLimitUI Ins;
|
public static PCLimitUI Ins;
|
||||||
private void Awake()
|
private void Awake() { isIns = true; Ins = this; }
|
||||||
{
|
|
||||||
Ins = this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public PCLimit_Center m_PCLimit_Center;
|
public PCLimit_Center m_PCLimit_Center;
|
||||||
public PCLimitUI_Right m_PCLimitUI_Right;
|
public PCLimitUI_Right m_PCLimitUI_Right;
|
||||||
|
|
@ -16,6 +14,7 @@ public class PCLimitUI : PCUIMenu
|
||||||
m_PCLimit_Center.Set();
|
m_PCLimit_Center.Set();
|
||||||
m_PCLimitUI_Right.Set();
|
m_PCLimitUI_Right.Set();
|
||||||
|
|
||||||
|
m_PCLimitUI_Right.m_LimitSlotChangeData.Init(true);
|
||||||
if (NewGameUI.Ins.m_PCUI.Get_EnterID(eItem.Preset) == 0)
|
if (NewGameUI.Ins.m_PCUI.Get_EnterID(eItem.Preset) == 0)
|
||||||
NewGameUI.Ins.m_PCUI.Set_EnterID(eItem.Preset, ServerInfo.Ins.m_ServerData.Equip.LimitPreset);
|
NewGameUI.Ins.m_PCUI.Set_EnterID(eItem.Preset, ServerInfo.Ins.m_ServerData.Equip.LimitPreset);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,45 @@ using System.Collections.Generic;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class LimitSlotChangeData
|
||||||
|
{
|
||||||
|
ObscuredInt TotalPrice, MissionCount;
|
||||||
|
|
||||||
|
// 아래는 서버에 전송할 데이터
|
||||||
|
public List<int> Preset;
|
||||||
|
public Dictionary<string, List<SD_PCLimitSlotData_Read>> LimitSlot = new Dictionary<string, List<SD_PCLimitSlotData_Read>>();
|
||||||
|
public int Price, Count;
|
||||||
|
|
||||||
|
public void Init(bool copydata)
|
||||||
|
{
|
||||||
|
TotalPrice = 0; TotalPrice.RandomizeCryptoKey();
|
||||||
|
MissionCount = 0; MissionCount.RandomizeCryptoKey();
|
||||||
|
}
|
||||||
|
void Copy_ServerLimitSlot()
|
||||||
|
{
|
||||||
|
LimitSlot.Clear();
|
||||||
|
var slotdata = ServerInfo.Ins.m_ServerData.LimitSlot;
|
||||||
|
foreach (var pair in slotdata)
|
||||||
|
{
|
||||||
|
var copiedList = new List<SD_PCLimitSlotData_Read>();
|
||||||
|
foreach (var data in pair.Value)
|
||||||
|
copiedList.Add(data.Get());
|
||||||
|
LimitSlot[pair.Key] = copiedList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public LimitSlotChangeData Get()
|
||||||
|
{
|
||||||
|
Price = TotalPrice;
|
||||||
|
Count = MissionCount;
|
||||||
|
Preset = ServerInfo.Ins.m_ServerData.LimitBreakOption.Preset;
|
||||||
|
Copy_ServerLimitSlot();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsChangeLimitSlot() { return TotalPrice > 0; }
|
||||||
|
public void Add_TotalPrice(int price) { TotalPrice += price; TotalPrice.RandomizeCryptoKey(); }
|
||||||
|
public void Add_MissionCount() { ++MissionCount; MissionCount.RandomizeCryptoKey(); }
|
||||||
|
}
|
||||||
public class PCLimitUI_Right : uScrollViewMgr
|
public class PCLimitUI_Right : uScrollViewMgr
|
||||||
{
|
{
|
||||||
public TabUIBase m_Tab;
|
public TabUIBase m_Tab;
|
||||||
|
|
@ -11,7 +50,7 @@ public class PCLimitUI_Right : uScrollViewMgr
|
||||||
public ButtonPress Btn_Change;
|
public ButtonPress Btn_Change;
|
||||||
|
|
||||||
public bool ChangeOption;
|
public bool ChangeOption;
|
||||||
public ObscuredInt TotalPrice, MissionCount;
|
public LimitSlotChangeData m_LimitSlotChangeData = new LimitSlotChangeData();
|
||||||
string m_Preset = "1";
|
string m_Preset = "1";
|
||||||
int m_matID, m_CurProtectGrade, m_ProtectMaxGrade;
|
int m_matID, m_CurProtectGrade, m_ProtectMaxGrade;
|
||||||
ObscuredInt mPrice;
|
ObscuredInt mPrice;
|
||||||
|
|
@ -131,23 +170,23 @@ public class PCLimitUI_Right : uScrollViewMgr
|
||||||
{
|
{
|
||||||
var sdata = ServerInfo.Ins.m_ServerData;
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
sdata.Use_Item(m_matID, mPrice);
|
sdata.Use_Item(m_matID, mPrice);
|
||||||
list_CardBase.ForEach(f => (f as PCLimitSlotCard).Set_Change(m_Preset, m_Tab.Get_Index() + 1));
|
list_CardBase.ForEach(f => (f as PCLimitSlotCard).Set_Change(m_Preset, m_Tab.Get_Index()));
|
||||||
Set();
|
Set();
|
||||||
MyValue.Get_ActorStatInfoorNull(eRole.PC);
|
MyValue.Get_ActorStatInfoorNull(eRole.PC);
|
||||||
NewGameUI.Ins.m_PCUI.Refresh_Money();
|
NewGameUI.Ins.m_PCUI.Refresh_Money();
|
||||||
|
|
||||||
TotalPrice += mPrice; TotalPrice.RandomizeCryptoKey();
|
var changeData = PCLimitUI.Ins.m_PCLimitUI_Right.m_LimitSlotChangeData;
|
||||||
|
changeData.Add_TotalPrice(mPrice);
|
||||||
|
|
||||||
if (ChangeOption)
|
if (ChangeOption)
|
||||||
{
|
{
|
||||||
Btn_Change.ControlPress(false);
|
Btn_Change.ControlPress(false);
|
||||||
ServerInfo.Ins.Save_PC_LimitSlotOption(TotalPrice, MissionCount,
|
ServerInfo.Ins.Save_PC_LimitSlotOption(changeData,
|
||||||
() =>
|
() =>
|
||||||
{
|
{
|
||||||
ChangeOption = false;
|
ChangeOption = false;
|
||||||
Btn_Change.ControlPress(true);
|
Btn_Change.ControlPress(true);
|
||||||
TotalPrice = 0; TotalPrice.RandomizeCryptoKey();
|
changeData.Init(false);
|
||||||
MissionCount = 0; MissionCount.RandomizeCryptoKey();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,14 +50,16 @@ public class PCUI : BotMenuBase
|
||||||
bool changejob = Get_EnterID(eItem.PC) > 0 && Get_EnterID(eItem.PC) != sdata.Get_EqiupmentEquip(eItem.PC);
|
bool changejob = Get_EnterID(eItem.PC) > 0 && Get_EnterID(eItem.PC) != sdata.Get_EqiupmentEquip(eItem.PC);
|
||||||
bool changepreset = Get_EnterID(eItem.Preset) > 0 && Get_EnterID(eItem.Preset) != sdata.Equip.LimitPreset;
|
bool changepreset = Get_EnterID(eItem.Preset) > 0 && Get_EnterID(eItem.Preset) != sdata.Equip.LimitPreset;
|
||||||
bool pcawakend = PCAwakenUI.isIns && PCAwakenUI.Ins.IsSendAwakenData();
|
bool pcawakend = PCAwakenUI.isIns && PCAwakenUI.Ins.IsSendAwakenData();
|
||||||
|
bool changelimitslot = PCLimitUI.isIns && PCLimitUI.Ins.m_PCLimitUI_Right.m_LimitSlotChangeData.IsChangeLimitSlot();
|
||||||
|
|
||||||
if (changeCostume || changeworker || changejob || changepreset || pcawakend)
|
if (changeCostume || changeworker || changejob || changepreset || pcawakend || changelimitslot)
|
||||||
{
|
{
|
||||||
ServerInfo.Ins.Save_PC_MenuBack(sdata.Get_EqiupmentEquip(eItem.PCCostume),
|
ServerInfo.Ins.Save_PC_MenuBack(sdata.Get_EqiupmentEquip(eItem.PCCostume),
|
||||||
sdata.Get_EqiupmentEquip(eItem.Worker),
|
sdata.Get_EqiupmentEquip(eItem.Worker),
|
||||||
sdata.Get_EqiupmentEquip(eItem.PC),
|
sdata.Get_EqiupmentEquip(eItem.PC),
|
||||||
sdata.Equip.LimitPreset,
|
sdata.Equip.LimitPreset,
|
||||||
PCAwakenUI.isIns ? PCAwakenUI.Ins.Get_CS_AwakenData() : emptyawaken,
|
PCAwakenUI.isIns ? PCAwakenUI.Ins.Get_CS_AwakenData() : emptyawaken,
|
||||||
|
PCLimitUI.Ins.m_PCLimitUI_Right.m_LimitSlotChangeData.Get(),
|
||||||
result =>
|
result =>
|
||||||
{
|
{
|
||||||
for (int i = 0; i < result.awakekMats.Count; i++)
|
for (int i = 0; i < result.awakekMats.Count; i++)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue