Save_Equipment_MenuBack 에 착용 적용, 기존 착용 함수 사용x
This commit is contained in:
parent
2dbf74c5fc
commit
4b820dbce7
|
|
@ -1577,7 +1577,7 @@ handlers.Save_Equipment_Craft = function(args)
|
||||||
}
|
}
|
||||||
return Get_Return(2);
|
return Get_Return(2);
|
||||||
}
|
}
|
||||||
handlers.Save_Equipment_Equip = function(args)
|
handlers.Save_Equipment_Equip = function(args) // 사용 x
|
||||||
{
|
{
|
||||||
var readonlydata = Get_UserReadOnlyData();
|
var readonlydata = Get_UserReadOnlyData();
|
||||||
var error = Get_Error(readonlydata, args.Token);
|
var error = Get_Error(readonlydata, args.Token);
|
||||||
|
|
@ -1867,6 +1867,33 @@ handlers.Save_Enchant_LvUp = function(args)
|
||||||
}
|
}
|
||||||
return Get_Return(1);
|
return Get_Return(1);
|
||||||
}
|
}
|
||||||
|
handlers.Save_Equipment_MenuBack = 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 rawEquipArray = args.EquipMenuData.Equip;
|
||||||
|
var equipDict = {};
|
||||||
|
for (var i = 0; i < rawEquipArray.length; ++i)
|
||||||
|
equipDict[rawEquipArray[i].Key] = rawEquipArray[i].Value;
|
||||||
|
var validEquipKeys = ["Weapon", "Armor", "Helmet", "Extra", "Ring", "Necklace"];
|
||||||
|
for (var i = 0; i < validEquipKeys.length; ++i)
|
||||||
|
{
|
||||||
|
var key = validEquipKeys[i];
|
||||||
|
var itemID = equipDict[key];
|
||||||
|
if (IsObtainItem(urod, itemID) && urod.Equip.Equip[key] != itemID)
|
||||||
|
{
|
||||||
|
urod.Equip.Equip[key] = itemID;
|
||||||
|
Add_MissionCount(Get_MissionTable(), urod, "EQUIP_ITEM_MOUNT_PARTS_LIMIT", Add_Amount(i, 1), 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Set_JsonUserData(urod);
|
||||||
|
return Get_Return(0, { Equip: urod.Equip.Equip });
|
||||||
|
}
|
||||||
|
|
||||||
handlers.Save_Skill_MenuBack = function(args)
|
handlers.Save_Skill_MenuBack = function(args)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -3155,6 +3155,10 @@ public class SC_EnchantOptionResult
|
||||||
public SD_OptionDetailData lastoption;
|
public SD_OptionDetailData lastoption;
|
||||||
public SD_EquipItemEnchant newoption;
|
public SD_EquipItemEnchant newoption;
|
||||||
}
|
}
|
||||||
|
public class SC_EquipmentMenuBackResult
|
||||||
|
{
|
||||||
|
public Dictionary<eItem, int> Equip;
|
||||||
|
}
|
||||||
public class SC_PetGachaResult
|
public class SC_PetGachaResult
|
||||||
{
|
{
|
||||||
public int gem;
|
public int gem;
|
||||||
|
|
@ -3225,4 +3229,33 @@ public class CS_EquipSlotEnchantData
|
||||||
public eItem Parts;
|
public eItem Parts;
|
||||||
public int Slot, EnchantID, Count;
|
public int Slot, EnchantID, Count;
|
||||||
}
|
}
|
||||||
|
public class CS_EquipmentMenuBackData
|
||||||
|
{
|
||||||
|
public Dictionary<eItem, int> Equip = new Dictionary<eItem, int>
|
||||||
|
{
|
||||||
|
{ eItem.Weapon, 0 }, { eItem.Armor, 0 }, { eItem.Helmet, 0 }, { eItem.Extra, 0 }, { eItem.Ring, 0 },
|
||||||
|
{ eItem.Necklace, 0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
public void Init()
|
||||||
|
{
|
||||||
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
|
|
||||||
|
var keys = Equip.Keys.ToList(); // 키 복사
|
||||||
|
foreach (var key in keys)
|
||||||
|
Equip[key] = sdata.Get_EqiupmentEquip(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool isNeedServerSave()
|
||||||
|
{
|
||||||
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
|
foreach (var item in Equip)
|
||||||
|
{
|
||||||
|
if (Equip[item.Key] != sdata.Get_EqiupmentEquip(item.Key))
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
@ -1436,6 +1436,7 @@ public class ServerInfo : MyCoroutine
|
||||||
Set_Coroutine(() => { Save_Equipment_Craft(itemid, _act); }, 2f);
|
Set_Coroutine(() => { Save_Equipment_Craft(itemid, _act); }, 2f);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
[Obsolete("Use Save_Equipment_MenuBack Instead")]
|
||||||
public void Save_Equipment_Equip(int itemid, Action _act)
|
public void Save_Equipment_Equip(int itemid, Action _act)
|
||||||
{
|
{
|
||||||
NetWait.Ins.Set(true);
|
NetWait.Ins.Set(true);
|
||||||
|
|
@ -1663,6 +1664,7 @@ public class ServerInfo : MyCoroutine
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// itemid : 인챈트 할 착용 아이템 id
|
/// itemid : 인챈트 할 착용 아이템 id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Obsolete("Use Save_Equipment_MenuBack Instead")]
|
||||||
public void Save_EquipItem_Enchant(int itemid, int eid, int slot, Action<SC_EnchantEquipItemResult> _act)
|
public void Save_EquipItem_Enchant(int itemid, int eid, int slot, Action<SC_EnchantEquipItemResult> _act)
|
||||||
{
|
{
|
||||||
NetWait.Ins.Set(true);
|
NetWait.Ins.Set(true);
|
||||||
|
|
@ -1703,6 +1705,37 @@ public class ServerInfo : MyCoroutine
|
||||||
Set_Coroutine(() => { Save_EquipItem_Enchant(itemid, eid, slot, _act); }, 2f);
|
Set_Coroutine(() => { Save_EquipItem_Enchant(itemid, eid, slot, _act); }, 2f);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
public void Save_Equipment_MenuBack(CS_EquipmentMenuBackData data, Action<SC_EquipmentMenuBackResult> _act)
|
||||||
|
{
|
||||||
|
NetWait.Ins.Set(true);
|
||||||
|
data.Init(); // 현재 데이터 전송
|
||||||
|
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
||||||
|
{
|
||||||
|
FunctionName = MethodBase.GetCurrentMethod().Name,
|
||||||
|
GeneratePlayStreamEvent = true,
|
||||||
|
FunctionParameter = new
|
||||||
|
{
|
||||||
|
Token = m_LoginInfo.EntityToken.EntityToken,
|
||||||
|
EquipMenuData = data,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
result =>
|
||||||
|
{
|
||||||
|
if (result.Error == null)
|
||||||
|
{
|
||||||
|
NetWait.Ins.Set(false);
|
||||||
|
var str_result = result.FunctionResult.ToString();
|
||||||
|
var error = MyErrorCheck(str_result);
|
||||||
|
_act?.Invoke(JsonConvert.DeserializeObject<SC_EquipmentMenuBackResult>(str_result));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Set_Coroutine(() => { Save_Equipment_MenuBack(data, _act); }, 2f);
|
||||||
|
},
|
||||||
|
fail =>
|
||||||
|
{
|
||||||
|
Set_Coroutine(() => { Save_Equipment_MenuBack(data, _act); }, 2f);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public void Save_Enchant_LvUp(int eid, Action<SC_EnchantOptionResult> _act)
|
public void Save_Enchant_LvUp(int eid, Action<SC_EnchantOptionResult> _act)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,15 @@ public class EquipmentPopup_Obtain : EquipmentPopupBase
|
||||||
{
|
{
|
||||||
if (!sdata.IsEquip(m_Data.e_EquipParts, m_Data.n_EquipID))
|
if (!sdata.IsEquip(m_Data.e_EquipParts, m_Data.n_EquipID))
|
||||||
{
|
{
|
||||||
|
sdata.Equip.Set_Equip(m_Data.e_EquipParts, m_Data.n_EquipID);
|
||||||
|
act_RefreshUI();
|
||||||
|
NewGameUI.Ins.m_EquipmentUI.m_equipItems.Set();
|
||||||
|
NewGameUI.Ins.m_EquipmentUI.m_EquipmentUI_Items.Set_UI();
|
||||||
|
if (m_Data.e_EquipParts == eItem.Weapon)
|
||||||
|
MyValue.MyPC.Change_Weapon();
|
||||||
|
MyValue.Get_ActorStatInfoorNull(eRole.PC);
|
||||||
|
|
||||||
|
/*
|
||||||
ServerInfo.Ins.Save_Equipment_Equip(m_Data.n_EquipID, () =>
|
ServerInfo.Ins.Save_Equipment_Equip(m_Data.n_EquipID, () =>
|
||||||
{
|
{
|
||||||
sdata.Equip.Set_Equip(m_Data.e_EquipParts, m_Data.n_EquipID);
|
sdata.Equip.Set_Equip(m_Data.e_EquipParts, m_Data.n_EquipID);
|
||||||
|
|
@ -96,6 +105,7 @@ public class EquipmentPopup_Obtain : EquipmentPopupBase
|
||||||
case eItem.Necklace: sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_MOUNT_PARTS_LIMIT, 6); break;
|
case eItem.Necklace: sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_MOUNT_PARTS_LIMIT, 6); break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,10 +19,12 @@ public class EquipmentUI : BotMenuBase
|
||||||
};
|
};
|
||||||
|
|
||||||
List<eStat> list_infostat = new List<eStat> { eStat.BaseDmg, eStat.MaxHP, eStat.STR, eStat.DEX, eStat.INT, eStat.LUK };
|
List<eStat> list_infostat = new List<eStat> { eStat.BaseDmg, eStat.MaxHP, eStat.STR, eStat.DEX, eStat.INT, eStat.LUK };
|
||||||
|
CS_EquipmentMenuBackData m_MenuBackData = new CS_EquipmentMenuBackData();
|
||||||
|
|
||||||
public override void Set()
|
public override void Set()
|
||||||
{
|
{
|
||||||
base.Set();
|
base.Set();
|
||||||
|
m_MenuBackData.Init();
|
||||||
Set_Money(101, 102, 103);
|
Set_Money(101, 102, 103);
|
||||||
m_EqiupmentPCInfo.Set();
|
m_EqiupmentPCInfo.Set();
|
||||||
m_equipItems.Set();
|
m_equipItems.Set();
|
||||||
|
|
@ -72,7 +74,24 @@ public class EquipmentUI : BotMenuBase
|
||||||
|
|
||||||
public override void OnClick_Back()
|
public override void OnClick_Back()
|
||||||
{
|
{
|
||||||
base.OnClick_Back();
|
if (m_MenuBackData.isNeedServerSave())
|
||||||
|
{
|
||||||
|
ServerInfo.Ins.Save_Equipment_MenuBack(m_MenuBackData,
|
||||||
|
result =>
|
||||||
|
{
|
||||||
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
|
foreach (var item in result.Equip)
|
||||||
|
sdata.Equip.Equip[item.Key] = item.Value;
|
||||||
|
MyValue.Get_ActorStatInfoorNull(eRole.PC);
|
||||||
|
base.OnClick_Back();
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
base.OnClick_Back();
|
||||||
|
}
|
||||||
|
|
||||||
PopupMgr.Ins.m_EquipmentItemPopup.OnClick_Back();
|
PopupMgr.Ins.m_EquipmentItemPopup.OnClick_Back();
|
||||||
PopupMgr.Ins.m_EquipmentMakePopup.OnClick_Back();
|
PopupMgr.Ins.m_EquipmentMakePopup.OnClick_Back();
|
||||||
PopupMgr.Ins.m_EquipmentPopup.OnClick_Back();
|
PopupMgr.Ins.m_EquipmentPopup.OnClick_Back();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue