Save_PC_MenuBack
This commit is contained in:
parent
40f048b7c4
commit
112c4a4e7d
|
|
@ -793,6 +793,7 @@ handlers.Save_PC_MenuBack = function(args)
|
|||
var urod = Get_JsonUserData(readonlydata);
|
||||
|
||||
var table = Get_MissionTable();
|
||||
// 각성
|
||||
var awakenData = args.AwakenData;
|
||||
var awakenupgradeid = Get_GlobalValue_nValue("AWAKEN_GOODS_UPGRADE");
|
||||
var awakenUpgradeTable = Get_AwakenUpgradeTable();
|
||||
|
|
@ -852,6 +853,21 @@ handlers.Save_PC_MenuBack = function(args)
|
|||
for (var id in useawakenMatIds)
|
||||
rtn_awakenMatIds.push({ itemid : parseInt(id), amount : Get_ItemAmount(urod, id) });
|
||||
|
||||
// 코스튬
|
||||
if (IsObtainItem(urod, args.CostumeID))
|
||||
urod.Equip.Equip["PCCostume"] = args.CostumeID;
|
||||
|
||||
// 일꾼
|
||||
if (IsObtainItem(urod, args.WorkerID))
|
||||
urod.Equip.Equip["Worker"] = args.WorkerID;
|
||||
|
||||
// 직업
|
||||
if (IsObtainItem(urod, args.JobID))
|
||||
urod.Equip.Equip["PC"] = args.JobID;
|
||||
|
||||
// 초월 프리셋
|
||||
urod.Equip.LimitPreset = args.Preset;
|
||||
|
||||
Set_JsonUserData(urod);
|
||||
return Get_Return(0, {
|
||||
awakekMats : rtn_awakenMatIds,
|
||||
|
|
@ -1099,106 +1115,6 @@ handlers.Save_PC_BuyJob = function(args)
|
|||
return Get_Return(2); // 재화 부족
|
||||
}
|
||||
}
|
||||
handlers.Save_PC_EquipJob = 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);
|
||||
|
||||
if (!urod.PC.Obtain.includes(args.JobID))
|
||||
return Get_Return(1); // 없는 직업
|
||||
|
||||
urod.Equip.Equip["PC"] = args.JobID;
|
||||
|
||||
Set_JsonUserData(urod);
|
||||
return Get_Return(0);
|
||||
}
|
||||
|
||||
handlers.Save_PC_AwakenLvUp = 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 global = Get_GlobalValueTable();
|
||||
var matdata = global.find(f => f.s_ID == "AWAKEN_GOODS_UPGRADE");
|
||||
if (!matdata) return Get_Return(1); // 설정 누락
|
||||
var materialId = matdata.n_Value;
|
||||
|
||||
var awakenupgradetable = Get_AwakenUpgradeTable();
|
||||
var audata = awakenupgradetable.find(f=>f.n_AwakenStep == urod.Awaken[args.AwakenStat].Lv);
|
||||
|
||||
// 각성 경험치가 n_MaxUpgradeLevel 보다 작으면 가능
|
||||
if (urod.Awaken[args.AwakenStat].Exp < audata.n_MaxUpgradeLevel)
|
||||
{
|
||||
var price = Get_K_Value(audata.n_AwakenStep, audata.f_BalanceConstant, audata.n_DefaultUpgradeCostValue, audata.f_CountPerUpgradeCostValue);
|
||||
//log.info("강화 가격 : " + price)
|
||||
if (Use_Item(Get_MissionTable(), urod, materialId, price))
|
||||
{
|
||||
++urod.Awaken[args.AwakenStat].Exp;
|
||||
|
||||
Set_JsonUserData(urod);
|
||||
return Get_Return(0);
|
||||
}
|
||||
else
|
||||
return Get_Return(2);
|
||||
}
|
||||
else
|
||||
return Get_Return(3);
|
||||
}
|
||||
handlers.Save_PC_Awaken = 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 awakenupgradetable = Get_AwakenUpgradeTable();
|
||||
var audata = awakenupgradetable.find(f=>f.n_AwakenStep == urod.Awaken[args.AwakenStat].Lv);
|
||||
|
||||
// 각성 경험치가 n_MaxUpgradeLevel 보다 같으면 가능
|
||||
if (urod.Awaken[args.AwakenStat].Exp >= audata.n_MaxUpgradeLevel)
|
||||
{
|
||||
// 다음 각성 단계가 있어야 각성 가능
|
||||
var nextaudata = awakenupgradetable.find(f=>f.n_AwakenStep == urod.Awaken[args.AwakenStat].Lv + 1);
|
||||
if (nextaudata)
|
||||
{
|
||||
var matkey = "";
|
||||
switch (args.AwakenStat)
|
||||
{
|
||||
case "STR": matkey = "AWAKEN_GOODS_STR"; break;
|
||||
case "DEX": matkey = "AWAKEN_GOODS_DEX"; break;
|
||||
case "INT": matkey = "AWAKEN_GOODS_INT"; break;
|
||||
case "LUK": matkey = "AWAKEN_GOODS_LUK"; break;
|
||||
}
|
||||
var global = Get_GlobalValueTable();
|
||||
var matdata = global.find(f => f.s_ID == matkey);
|
||||
if (!matdata) return Get_Return(1); // 설정 누락
|
||||
var materialId = matdata.n_Value;
|
||||
|
||||
//log.info("필요한 재화 " + materialId + ", 필요한 갯수 " + audata.n_AwakenGoodsCost);
|
||||
if (Use_Item(Get_MissionTable(), urod, materialId, audata.n_AwakenGoodsCost))
|
||||
{
|
||||
++urod.Awaken[args.AwakenStat].Lv;
|
||||
urod.Awaken[args.AwakenStat].Exp = 0;
|
||||
|
||||
Set_JsonUserData(urod);
|
||||
return Get_Return(0);
|
||||
}
|
||||
else
|
||||
return Get_Return(2);
|
||||
}
|
||||
else
|
||||
return Get_Return(4);
|
||||
}
|
||||
else
|
||||
return Get_Return(3);
|
||||
}
|
||||
|
||||
handlers.Save_PC_LimitLvUp = function(args)
|
||||
{
|
||||
|
|
@ -1338,18 +1254,6 @@ handlers.Save_PC_LimitSlotLock = function(args)
|
|||
else
|
||||
return Get_Return(1);
|
||||
}
|
||||
handlers.Save_PC_LimitPreset = 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);
|
||||
urod.Equip.LimitPreset = args.Preset;
|
||||
|
||||
Set_JsonUserData(urod);
|
||||
return Get_Return(0);
|
||||
}
|
||||
|
||||
handlers.Save_Equipment_Craft = function(args)
|
||||
{
|
||||
|
|
@ -1470,48 +1374,6 @@ handlers.Save_Equipment_Smelting = function(args)
|
|||
}
|
||||
return Get_Return(1);
|
||||
}
|
||||
handlers.Save_Equipment_Smelting = 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);
|
||||
if (!urod.Equipment[args.ItemID]) return Get_Return(3);
|
||||
var lv = urod.Equipment[args.ItemID][1];
|
||||
|
||||
// 영웅 초월 레벨에 따른 레벨 제한 확인
|
||||
var llv = urod.PC.LLv > 9 ? 9 : urod.PC.LLv;
|
||||
var limitData = Get_BreakingLimitTable().find(f=>f.n_LimitLv == llv);
|
||||
if (lv >= limitData.n_Equip_Upgrade_Limit) return Get_Return(2);
|
||||
|
||||
// 다음 강화 가능한 지 확인
|
||||
var smeltingTable = Get_EquipSmeltingTable();
|
||||
var nextSmeltingData = smeltingTable.find(f=>f.n_SmeltingStep == lv + 1);
|
||||
if (!nextSmeltingData) return Get_Return(2);
|
||||
|
||||
// 재료 확인
|
||||
var table = Get_MissionTable();
|
||||
var smeltingData = smeltingTable.find(f=>f.n_SmeltingStep == lv);
|
||||
if (Use_Item(table, urod, args.ItemID, smeltingData.n_UpgradePrice))
|
||||
{
|
||||
// 확률 적용
|
||||
if (IsRateTrue1000000(smeltingData.n_NextStepRate))
|
||||
{
|
||||
++urod.Equipment[args.ItemID][1]; // 제련 레벨
|
||||
|
||||
Add_MissionCount(table, urod, "EQUIP_ITEM_UPGRADE_ACC", 0, 1);
|
||||
Add_MissionCount(table, urod, "EQUIP_ITEM_UPGRADE_ALL", 0, 1);
|
||||
Add_MissionCount(table, urod, "EQUIP_ITEM_UPGRADE_LIMIT", 0, 1);
|
||||
|
||||
Set_JsonUserData(urod);
|
||||
return Get_Return(0);
|
||||
}
|
||||
++urod.Equipment[args.ItemID][2]; // 제련 시도 횟수
|
||||
return Get_Return(4);
|
||||
}
|
||||
return Get_Return(1);
|
||||
}
|
||||
handlers.Save_Equipment_Decomposition = function(args)
|
||||
{
|
||||
var readonlydata = Get_UserReadOnlyData();
|
||||
|
|
@ -2284,22 +2146,6 @@ handlers.Save_GachaBonus = function(args)
|
|||
return Get_Return(1);
|
||||
}
|
||||
|
||||
handlers.Save_Costume_Equip = 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);
|
||||
if (IsObtainItem(urod, args.CostumeID))
|
||||
{
|
||||
urod.Equip.Equip["PCCostume"] = args.CostumeID;
|
||||
|
||||
Set_JsonUserData(urod);
|
||||
return Get_Return(0);
|
||||
}
|
||||
return Get_Return(1);
|
||||
}
|
||||
handlers.Save_Costume_Buy = function(args)
|
||||
{
|
||||
var readonlydata = Get_UserReadOnlyData();
|
||||
|
|
@ -2321,22 +2167,6 @@ handlers.Save_Costume_Buy = function(args)
|
|||
return Get_Return(1);
|
||||
}
|
||||
|
||||
handlers.Save_Worker_Equip = 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);
|
||||
if (IsObtainItem(urod, args.WorkerID))
|
||||
{
|
||||
urod.Equip.Equip["Worker"] = args.WorkerID;
|
||||
|
||||
Set_JsonUserData(urod);
|
||||
return Get_Return(0);
|
||||
}
|
||||
return Get_Return(1);
|
||||
}
|
||||
handlers.Save_Worker_Buy = function(args)
|
||||
{
|
||||
var readonlydata = Get_UserReadOnlyData();
|
||||
|
|
|
|||
|
|
@ -1837,13 +1837,6 @@ public partial class ServerData
|
|||
break;
|
||||
|
||||
|
||||
case eItem.Fairy:
|
||||
//var equipment = Equipment[_itemdata.ItemType.ToString()].Find(f => f[0] == _itemdata.Get_ID());
|
||||
//if (equipment != null) Check_EquipmentGet(equipment, _itemdata.Amount);
|
||||
//if (MessageInfo.Ins != null && _itemdata.Grade >= eItemGrade.Legend)
|
||||
// MessageInfo.Ins.Add_NotiToChatServer(DSUtil.Format("{0} {1}{2}[-] 획득", ServerInfo.Ins.UserName, MyValue.Get_GradeColor(_itemdata.Grade), _itemdata.Name));
|
||||
//if (GameUI.Ins != null) GameUI.Ins.Add_newItem(_itemdata.ItemType, _itemdata.Get_ID());
|
||||
break;
|
||||
case eItem.Skill: // ID, 갯수, 레벨, 특성1, 특성2
|
||||
//var magicamount = (int)_itemdata.Amount;
|
||||
//var magic = Skill.Find(f => f[0] == _itemdata.Get_ID());
|
||||
|
|
@ -2344,7 +2337,6 @@ public class SD_Equip
|
|||
[eItem.Necklace] = 0,
|
||||
[eItem.Ring] = 0,
|
||||
[eItem.Pet] = table_GlobalValue.Ins.Get_Int("n_FirstEquipPet"),
|
||||
[eItem.Fairy] = 0,
|
||||
[eItem.Farmer] = 0,
|
||||
[eItem.Worker] = 70001,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -859,7 +859,7 @@ public class ServerInfo : MyCoroutine
|
|||
Set_Coroutine(() => { Save_StageResult(_act); }, 2f);
|
||||
});
|
||||
}
|
||||
public void Save_PC_MenuBack(CS_AwakenData awakenData, Action<SC_PCMenuBackResult> _act)
|
||||
public void Save_PC_MenuBack(int costumeid, int workerid, int jobid, int preset, CS_AwakenData awakenData, Action<SC_PCMenuBackResult> _act)
|
||||
{
|
||||
NetWait.Ins.Set(true);
|
||||
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
||||
|
|
@ -869,6 +869,10 @@ public class ServerInfo : MyCoroutine
|
|||
FunctionParameter = new
|
||||
{
|
||||
Token = m_LoginInfo.EntityToken.EntityToken,
|
||||
CostumeID = costumeid,
|
||||
WorkerID = workerid,
|
||||
JobID = jobid,
|
||||
Preset = preset,
|
||||
AwakenData = awakenData
|
||||
}
|
||||
},
|
||||
|
|
@ -889,11 +893,11 @@ public class ServerInfo : MyCoroutine
|
|||
}
|
||||
}
|
||||
else
|
||||
Set_Coroutine(() => { Save_PC_MenuBack(awakenData, _act); }, 2f);
|
||||
Set_Coroutine(() => { Save_PC_MenuBack(costumeid, workerid, jobid, preset, awakenData, _act); }, 2f);
|
||||
},
|
||||
fail =>
|
||||
{
|
||||
Set_Coroutine(() => { Save_PC_MenuBack(awakenData, _act); }, 2f);
|
||||
Set_Coroutine(() => { Save_PC_MenuBack(costumeid, workerid, jobid, preset, awakenData, _act); }, 2f);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -1086,114 +1090,7 @@ public class ServerInfo : MyCoroutine
|
|||
Set_Coroutine(() => { Save_PC_BuyJob(jobid, _act); }, 2f);
|
||||
});
|
||||
}
|
||||
public void Save_PC_EquipJob(int jobid, Action _act)
|
||||
{
|
||||
NetWait.Ins.Set(true);
|
||||
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
||||
{
|
||||
FunctionName = MethodBase.GetCurrentMethod().Name,
|
||||
GeneratePlayStreamEvent = true,
|
||||
FunctionParameter = new
|
||||
{
|
||||
Token = m_LoginInfo.EntityToken.EntityToken,
|
||||
JobID = jobid,
|
||||
}
|
||||
},
|
||||
result =>
|
||||
{
|
||||
if (result.Error == null)
|
||||
{
|
||||
NetWait.Ins.Set(false);
|
||||
var error = MyErrorCheck(result.FunctionResult.ToString());
|
||||
switch (error)
|
||||
{
|
||||
case 0: _act?.Invoke(); break;
|
||||
case 1: ToastUI.Ins.Set(999900009); break;
|
||||
}
|
||||
}
|
||||
else
|
||||
Set_Coroutine(() => { Save_PC_EquipJob(jobid, _act); }, 2f);
|
||||
},
|
||||
fail =>
|
||||
{
|
||||
Set_Coroutine(() => { Save_PC_EquipJob(jobid, _act); }, 2f);
|
||||
});
|
||||
}
|
||||
|
||||
public void Save_PC_AwakenLvUp(eStat stat, Action _act)
|
||||
{
|
||||
NetWait.Ins.Set(true);
|
||||
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
||||
{
|
||||
FunctionName = MethodBase.GetCurrentMethod().Name,
|
||||
GeneratePlayStreamEvent = true,
|
||||
FunctionParameter = new
|
||||
{
|
||||
Token = m_LoginInfo.EntityToken.EntityToken,
|
||||
AwakenStat = stat,
|
||||
}
|
||||
},
|
||||
result =>
|
||||
{
|
||||
if (result.Error == null)
|
||||
{
|
||||
NetWait.Ins.Set(false);
|
||||
var error = MyErrorCheck(result.FunctionResult.ToString());
|
||||
// (0 성공, 1 실패(재화 id 없음), 2 실패 (재화 부족), 3 실패 (더 이상 강화 불가))
|
||||
switch (error)
|
||||
{
|
||||
case 0: _act?.Invoke(); break;
|
||||
case 1: ToastUI.Ins.Set(999900005); break;
|
||||
case 2: ToastUI.Ins.Set(388); break;
|
||||
case 3: ToastUI.Ins.Set(236); break;
|
||||
}
|
||||
}
|
||||
else
|
||||
Set_Coroutine(() => { Save_PC_AwakenLvUp(stat, _act); }, 2f);
|
||||
},
|
||||
fail =>
|
||||
{
|
||||
Set_Coroutine(() => { Save_PC_AwakenLvUp(stat, _act); }, 2f);
|
||||
});
|
||||
}
|
||||
public void Save_PC_Awaken(eStat stat, Action _act)
|
||||
{
|
||||
NetWait.Ins.Set(true);
|
||||
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
||||
{
|
||||
FunctionName = MethodBase.GetCurrentMethod().Name,
|
||||
GeneratePlayStreamEvent = true,
|
||||
FunctionParameter = new
|
||||
{
|
||||
Token = m_LoginInfo.EntityToken.EntityToken,
|
||||
AwakenStat = stat,
|
||||
}
|
||||
},
|
||||
result =>
|
||||
{
|
||||
if (result.Error == null)
|
||||
{
|
||||
NetWait.Ins.Set(false);
|
||||
var error = MyErrorCheck(result.FunctionResult.ToString());
|
||||
// (0 성공, 1 실패(재화 id 없음), 2 실패 (재화 부족), 3, 실패 (각성 레벨 부족), 4 실패 (더 이상 각성 불가))
|
||||
switch (error)
|
||||
{
|
||||
case 0: _act?.Invoke(); break;
|
||||
case 1: ToastUI.Ins.Set(999900005); break;
|
||||
case 2: ToastUI.Ins.Set(388); break;
|
||||
case 3: ToastUI.Ins.Set(263); break;
|
||||
case 4: ToastUI.Ins.Set(999900010); break;
|
||||
}
|
||||
}
|
||||
else
|
||||
Set_Coroutine(() => { Save_PC_Awaken(stat, _act); }, 2f);
|
||||
},
|
||||
fail =>
|
||||
{
|
||||
Set_Coroutine(() => { Save_PC_Awaken(stat, _act); }, 2f);
|
||||
});
|
||||
}
|
||||
|
||||
public void Save_PC_LimitLvUp(Action _act)
|
||||
{
|
||||
NetWait.Ins.Set(true);
|
||||
|
|
@ -1308,41 +1205,6 @@ public class ServerInfo : MyCoroutine
|
|||
Set_Coroutine(() => { Save_PC_LimitSlotLock(preset, slot, _act); }, 2f);
|
||||
});
|
||||
}
|
||||
public void Save_PC_LimitPreset(int preset, 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,
|
||||
}
|
||||
},
|
||||
result =>
|
||||
{
|
||||
if (result.Error == null)
|
||||
{
|
||||
NetWait.Ins.Set(false);
|
||||
var str_result = result.FunctionResult.ToString();
|
||||
var error = MyErrorCheck(str_result);
|
||||
// (0 성공, 나머지는 잘못된 요청)
|
||||
switch (error)
|
||||
{
|
||||
case 0: _act?.Invoke(); break;
|
||||
default: ToastUI.Ins.Set(999900002); break;
|
||||
}
|
||||
}
|
||||
else
|
||||
Set_Coroutine(() => { Save_PC_LimitPreset(preset, _act); }, 2f);
|
||||
},
|
||||
fail =>
|
||||
{
|
||||
Set_Coroutine(() => { Save_PC_LimitPreset(preset, _act); }, 2f);
|
||||
});
|
||||
}
|
||||
|
||||
public void Save_Equipment_Craft(int itemid, Action _act)
|
||||
{
|
||||
|
|
@ -2132,41 +1994,6 @@ public class ServerInfo : MyCoroutine
|
|||
});
|
||||
}
|
||||
|
||||
public void Save_Costume_Equip(int id, Action _act)
|
||||
{
|
||||
NetWait.Ins.Set(true);
|
||||
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
||||
{
|
||||
FunctionName = MethodBase.GetCurrentMethod().Name,
|
||||
GeneratePlayStreamEvent = true,
|
||||
FunctionParameter = new
|
||||
{
|
||||
Token = m_LoginInfo.EntityToken.EntityToken,
|
||||
CostumeID = id,
|
||||
}
|
||||
},
|
||||
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(999900032); break;
|
||||
}
|
||||
}
|
||||
else
|
||||
Set_Coroutine(() => { Save_Costume_Equip(id, _act); }, 2f);
|
||||
},
|
||||
fail =>
|
||||
{
|
||||
Set_Coroutine(() => { Save_Costume_Equip(id, _act); }, 2f);
|
||||
});
|
||||
}
|
||||
public void Save_Costume_Buy(int id, Action _act)
|
||||
{
|
||||
NetWait.Ins.Set(true);
|
||||
|
|
@ -2204,41 +2031,6 @@ public class ServerInfo : MyCoroutine
|
|||
});
|
||||
}
|
||||
|
||||
public void Save_Worker_Equip(int id, Action _act)
|
||||
{
|
||||
NetWait.Ins.Set(true);
|
||||
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
||||
{
|
||||
FunctionName = MethodBase.GetCurrentMethod().Name,
|
||||
GeneratePlayStreamEvent = true,
|
||||
FunctionParameter = new
|
||||
{
|
||||
Token = m_LoginInfo.EntityToken.EntityToken,
|
||||
WorkerID = id,
|
||||
}
|
||||
},
|
||||
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(999900034); break;
|
||||
}
|
||||
}
|
||||
else
|
||||
Set_Coroutine(() => { Save_Worker_Equip(id, _act); }, 2f);
|
||||
},
|
||||
fail =>
|
||||
{
|
||||
Set_Coroutine(() => { Save_Worker_Equip(id, _act); }, 2f);
|
||||
});
|
||||
}
|
||||
public void Save_Worker_Buy(int id, Action _act)
|
||||
{
|
||||
NetWait.Ins.Set(true);
|
||||
|
|
|
|||
|
|
@ -48,7 +48,6 @@ public class ItemData
|
|||
case eItem.Ring:
|
||||
case eItem.Necklace:
|
||||
case eItem.Extra:
|
||||
case eItem.Fairy:
|
||||
Lv = sdata.Get_SmeltingLv(id);
|
||||
Lv.RandomizeCryptoKey();
|
||||
TLv = sdata.Get_EquipmentTLv(ItemType, id);
|
||||
|
|
@ -70,9 +69,6 @@ public class ItemData
|
|||
case eItem.Weapon:
|
||||
//equipmenttabledata = table_weapon.Ins.Get_Data(ID);
|
||||
break;
|
||||
case eItem.Fairy:
|
||||
//equipmenttabledata = table_fairy.Ins.Get_Data(ID);
|
||||
break;
|
||||
case eItem.Pet:
|
||||
break;
|
||||
case eItem.Skill:
|
||||
|
|
@ -135,7 +131,6 @@ public class UIItemCard : CardCoolTimeBase
|
|||
case eItem.Ring:
|
||||
case eItem.Necklace:
|
||||
case eItem.Extra:
|
||||
case eItem.Fairy:
|
||||
case eItem.WeaponCostume:
|
||||
case eItem.Skill:
|
||||
case eItem.Pet:
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public class Lobby_Bundle
|
|||
{
|
||||
var sdata = ServerInfo.Ins.m_ServerData;
|
||||
gos_noti[0].SetActive(false);
|
||||
gos_noti[1].SetActive(GameUI.Ins.ExistNewItem(eItem.Weapon) || GameUI.Ins.ExistNewItem(eItem.Ring) || GameUI.Ins.ExistNewItem(eItem.Necklace) || GameUI.Ins.ExistNewItem(eItem.Extra) || GameUI.Ins.ExistNewItem(eItem.Fairy));
|
||||
gos_noti[1].SetActive(GameUI.Ins.ExistNewItem(eItem.Weapon) || GameUI.Ins.ExistNewItem(eItem.Ring) || GameUI.Ins.ExistNewItem(eItem.Necklace) || GameUI.Ins.ExistNewItem(eItem.Extra));
|
||||
gos_noti[2].SetActive(GameUI.Ins.ExistNewItem(eItem.Pet));
|
||||
gos_noti[3].SetActive(sdata.ExistCanCompleteBook());
|
||||
gos_noti[7].SetActive(false);
|
||||
|
|
|
|||
|
|
@ -61,12 +61,8 @@ public class PCCostumeListUI : uScrollViewMgr
|
|||
|
||||
if (sdata.IsObtainItem(costumeid) && !sdata.IsEquip(eItem.PCCostume, costumeid))
|
||||
{
|
||||
ServerInfo.Ins.Save_Costume_Equip(costumeid, () =>
|
||||
{
|
||||
sdata.Equip.Set_Equip(eItem.PCCostume, costumeid);
|
||||
|
||||
PCInfoUI.Ins.Set_UI();
|
||||
});
|
||||
sdata.Equip.Set_Equip(eItem.PCCostume, costumeid);
|
||||
PCInfoUI.Ins.Set_UI();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7,9 +7,6 @@ public class PCInfoUI_Center : UI3DModel
|
|||
public TextMeshProUGUI[] texts; // 0 코스튬 이름, 1 코스튬 대사
|
||||
public GameObject[] gos; // 0 코스튬 착용 버튼
|
||||
|
||||
public int CostumeIdWhenEnter;
|
||||
public bool firstInit = false;
|
||||
|
||||
CardBase SelectCard;
|
||||
|
||||
public void Set(CardBase choiceCard)
|
||||
|
|
@ -21,18 +18,17 @@ public class PCInfoUI_Center : UI3DModel
|
|||
|
||||
SelectCard = choiceCard;
|
||||
SelectCard.Set_Selected(true);
|
||||
var costumeid = SelectCard.Get_IntData();
|
||||
|
||||
PCInfoUI.Ins.m_PCInfoUI_List.m_PCCostumeListUI.Select_Costume(choiceCard);
|
||||
|
||||
if (!firstInit)
|
||||
if (NewGameUI.Ins.m_PCUI.Get_EnterID(eItem.PCCostume) == 0)
|
||||
{
|
||||
firstInit = true;
|
||||
m_MyPet.Set(table_petlist.Ins.Get_Data_orNull(sdata.Get_EqiupmentEquip(eItem.Pet)));
|
||||
m_MyPet.Set_CardType(eUICardType.NoTouch);
|
||||
CostumeIdWhenEnter = choiceCard.Get_IntData();
|
||||
NewGameUI.Ins.m_PCUI.Set_EnterID(eItem.PCCostume, costumeid);
|
||||
}
|
||||
|
||||
var costumeid = SelectCard.Get_IntData();
|
||||
var costumeData = table_costumelist.Ins.Get_Data_orNull(costumeid);
|
||||
texts[0].text = costumeData.Get_Name();
|
||||
texts[1].text = costumeData.Get_Desc();
|
||||
|
|
@ -52,13 +48,5 @@ public class PCInfoUI_Center : UI3DModel
|
|||
return true;
|
||||
}
|
||||
|
||||
public void OnClick_EquipCostume()
|
||||
{
|
||||
if (!CanEquip()) return;
|
||||
var sdata = ServerInfo.Ins.m_ServerData;
|
||||
sdata.Equip.Set_Equip(eItem.PCCostume, SelectCard.Get_IntData());
|
||||
PCInfoUI.Ins.Set_UI();
|
||||
}
|
||||
|
||||
public CardBase Get_SelectCard() { return SelectCard; }
|
||||
}
|
||||
|
|
@ -32,9 +32,11 @@ public class PCWorkerListUI : UI3DModel
|
|||
SelectCard.Set_Selected(true);
|
||||
|
||||
int workerid = SelectCard.Get_IntData();
|
||||
if (NewGameUI.Ins.m_PCUI.Get_EnterID(eItem.PCCostume) == 0)
|
||||
NewGameUI.Ins.m_PCUI.Set_EnterID(eItem.PCCostume, workerid);
|
||||
|
||||
var sdata = ServerInfo.Ins.m_ServerData;
|
||||
if (sdata.IsEquip(eItem.PCCostume, workerid))
|
||||
if (sdata.IsEquip(eItem.Worker, workerid))
|
||||
DSUtil.InActivateGameObjects(gos);
|
||||
else if (sdata.IsObtainItem(workerid))
|
||||
DSUtil.InActivateGameObjects(gos, 0);
|
||||
|
|
@ -79,12 +81,8 @@ public class PCWorkerListUI : UI3DModel
|
|||
|
||||
if (sdata.IsObtainItem(id) && !sdata.IsEquip(eItem.Worker, id))
|
||||
{
|
||||
ServerInfo.Ins.Save_Worker_Equip(id, () =>
|
||||
{
|
||||
sdata.Equip.Set_Equip(eItem.Worker, id);
|
||||
|
||||
PCInfoUI.Ins.Set_UI();
|
||||
});
|
||||
sdata.Equip.Set_Equip(eItem.Worker, id);
|
||||
PCInfoUI.Ins.Set_UI();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -81,13 +81,10 @@ public class PCJobCard : CardBase
|
|||
{ // 착용 여부
|
||||
if (sdata.Get_EqiupmentEquip(eItem.PC) != m_Data.n_ClassID)
|
||||
{ // 착용하기
|
||||
ServerInfo.Ins.Save_PC_EquipJob(m_Data.n_ClassID, () =>
|
||||
{
|
||||
sdata.Equip.Set_Equip(eItem.PC, m_Data.n_ClassID);
|
||||
Set_UI();
|
||||
PCJobUI.Ins.Set();
|
||||
MyValue.Get_ActorStatInfoorNull(eRole.PC);
|
||||
});
|
||||
sdata.Equip.Set_Equip(eItem.PC, m_Data.n_ClassID);
|
||||
Set_UI();
|
||||
PCJobUI.Ins.Set();
|
||||
MyValue.Get_ActorStatInfoorNull(eRole.PC);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -49,5 +49,8 @@ public class PCJobUI : PCUIMenu
|
|||
m_PCJobUI_Class.Set(classid);
|
||||
m_PCJobUI_Skill.Set(classid);
|
||||
m_PCJobUI_Top.Set();
|
||||
|
||||
if (NewGameUI.Ins.m_PCUI.Get_EnterID(eItem.PC) == 0)
|
||||
NewGameUI.Ins.m_PCUI.Set_EnterID(eItem.PC, classid);
|
||||
}
|
||||
}
|
||||
|
|
@ -15,5 +15,8 @@ public class PCLimitUI : PCUIMenu
|
|||
NewGameUI.Ins.m_PCUI.Set_Money(table_GlobalValue.Ins.Get_Int("n_BreakingLimitSlotMaterialID"), 0);
|
||||
m_PCLimit_Center.Set();
|
||||
m_PCLimitUI_Right.Set();
|
||||
|
||||
if (NewGameUI.Ins.m_PCUI.Get_EnterID(eItem.Preset) == 0)
|
||||
NewGameUI.Ins.m_PCUI.Set_EnterID(eItem.Preset, ServerInfo.Ins.m_ServerData.Equip.LimitPreset);
|
||||
}
|
||||
}
|
||||
|
|
@ -23,7 +23,7 @@ public class PCLimitUI_Right : uScrollViewMgr
|
|||
m_Tab.Set_Index(ServerInfo.Ins.m_ServerData.Equip.LimitPreset - 1);
|
||||
for (int i = 0; i < list_TabData.Count; i++)
|
||||
{
|
||||
list_TabData[i].onClick = OnClick_Preset_byTouch;
|
||||
list_TabData[i].onClick = OnClick_Preset;
|
||||
}
|
||||
m_Tab.Set(list_TabData);
|
||||
OnClick_Preset();
|
||||
|
|
@ -93,10 +93,6 @@ public class PCLimitUI_Right : uScrollViewMgr
|
|||
sdata.Equip.LimitPreset.RandomizeCryptoKey();
|
||||
Set_UI();
|
||||
}
|
||||
public void OnClick_Preset_byTouch()
|
||||
{
|
||||
ServerInfo.Ins.Save_PC_LimitPreset(m_Tab.Get_Index() + 1, OnClick_Preset);
|
||||
}
|
||||
|
||||
public void OnClick_ProtectGrade(int grade)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
public class PCUI : BotMenuBase
|
||||
{
|
||||
|
|
@ -11,6 +12,9 @@ public class PCUI : BotMenuBase
|
|||
new TabUIData{ n_btnName = 217, },new TabUIData{ n_btnName = 231, },
|
||||
};
|
||||
|
||||
Dictionary<eItem, int> dic_EnterID = new Dictionary<eItem, int>
|
||||
{ { eItem.PCCostume, 0 }, { eItem.Worker, 0 }, { eItem.PC, 0 }, { eItem.Preset , 0 } };
|
||||
|
||||
public override void Set()
|
||||
{
|
||||
base.Set();
|
||||
|
|
@ -22,10 +26,15 @@ public class PCUI : BotMenuBase
|
|||
}
|
||||
m_Tab.Set(list_TabData);
|
||||
|
||||
if (PCInfoUI.Ins) PCInfoUI.Ins.m_PCInfoUI_Center.firstInit = false;
|
||||
foreach (var key in dic_EnterID.Keys.ToList())
|
||||
dic_EnterID[key] = 0;
|
||||
|
||||
OnClick_Tab();
|
||||
}
|
||||
|
||||
public void Set_EnterID(eItem item, int id) { dic_EnterID[item] = id; }
|
||||
public int Get_EnterID(eItem item) { return dic_EnterID[item]; }
|
||||
|
||||
public void OnClick_Tab()
|
||||
{
|
||||
for (int i = 0; i < m_PCMenu.Length; i++)
|
||||
|
|
@ -33,28 +42,45 @@ public class PCUI : BotMenuBase
|
|||
m_PCMenu[m_Tab.Get_Index()].Set();
|
||||
}
|
||||
|
||||
CS_AwakenData emptyawaken = new CS_AwakenData();
|
||||
public override void OnClick_Back()
|
||||
{
|
||||
base.OnClick_Back();
|
||||
var sdata = ServerInfo.Ins.m_ServerData;
|
||||
if (PCInfoUI.Ins.m_PCInfoUI_Center.CostumeIdWhenEnter != sdata.Get_EqiupmentEquip(eItem.PCCostume))
|
||||
{
|
||||
ActorInfo.Ins.Destroy_All();
|
||||
CoroutineMgr.Ins.Set_Coroutine(() =>
|
||||
{
|
||||
PCInfo.Ins.Make_Actors(false, ServerInfo.Ins.m_ServerData);
|
||||
}, 0.02f);
|
||||
}
|
||||
|
||||
//if (PCAwakenUI.isIns && PCAwakenUI.Ins.IsSendAwakenData())
|
||||
if (PCAwakenUI.isIns)
|
||||
bool changeCostume = Get_EnterID(eItem.PCCostume) > 0 && Get_EnterID(eItem.PCCostume) != sdata.Get_EqiupmentEquip(eItem.PCCostume);
|
||||
bool changeworker = Get_EnterID(eItem.Worker) > 0 && Get_EnterID(eItem.Worker) != sdata.Get_EqiupmentEquip(eItem.Worker);
|
||||
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 pcawakend = PCAwakenUI.isIns && PCAwakenUI.Ins.IsSendAwakenData();
|
||||
|
||||
if (changeCostume || changeworker || changejob || changepreset || pcawakend)
|
||||
{
|
||||
ServerInfo.Ins.Save_PC_MenuBack(PCAwakenUI.Ins.Get_CS_AwakenData(), result =>
|
||||
ServerInfo.Ins.Save_PC_MenuBack(sdata.Get_EqiupmentEquip(eItem.PCCostume),
|
||||
sdata.Get_EqiupmentEquip(eItem.Worker),
|
||||
sdata.Get_EqiupmentEquip(eItem.PC),
|
||||
sdata.Equip.LimitPreset,
|
||||
PCAwakenUI.isIns ? PCAwakenUI.Ins.Get_CS_AwakenData() : emptyawaken,
|
||||
result =>
|
||||
{
|
||||
for (int i = 0; i < result.awakekMats.Count; i++)
|
||||
sdata.Set_Item(result.awakekMats[i].itemid, result.awakekMats[i].amount);
|
||||
foreach (var item in result.awaken) sdata.Awaken[item.Key] = item.Value.Get();
|
||||
|
||||
if (changeCostume || changeworker)
|
||||
{
|
||||
ActorInfo.Ins.Destroy_All();
|
||||
CoroutineMgr.Ins.Set_Coroutine(() =>
|
||||
{
|
||||
PCInfo.Ins.Make_Actors(false, ServerInfo.Ins.m_ServerData);
|
||||
InGameInfo.Ins.StartCam();
|
||||
base.OnClick_Back();
|
||||
}, 0.02f);
|
||||
}
|
||||
else
|
||||
base.OnClick_Back();
|
||||
});
|
||||
}
|
||||
else
|
||||
base.OnClick_Back();
|
||||
}
|
||||
}
|
||||
|
|
@ -256,7 +256,7 @@ public enum eItem
|
|||
// Money
|
||||
Gold, Gem, WeaponStone, RingStone, NeckStone, BootsStone, FairyStone, SelectSkillShuffle, ChapterQuestShuffle, mClover, MemoryField, MemoryForest, MemoryDungeon, MemoryWitchGrade, MemoryPetBattle,
|
||||
PC, PCCostume, Weapon, Armor, Helmet, Extra, Necklace, Ring,
|
||||
Fairy, WeaponCostume, Pet, Worker, Farmer, Book, Page, Food, Seed,
|
||||
Preset, WeaponCostume, Pet, Worker, Farmer, Book, Page, Food, Seed,
|
||||
Title, Inven, Pass, Potion, Relic, Essence,
|
||||
// 상점
|
||||
Shop,
|
||||
|
|
|
|||
Loading…
Reference in New Issue