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);
|
||||
}
|
||||
handlers.Save_Equipment_Equip = function(args)
|
||||
handlers.Save_Equipment_Equip = function(args) // 사용 x
|
||||
{
|
||||
var readonlydata = Get_UserReadOnlyData();
|
||||
var error = Get_Error(readonlydata, args.Token);
|
||||
|
|
@ -1867,6 +1867,33 @@ handlers.Save_Enchant_LvUp = function(args)
|
|||
}
|
||||
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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3155,6 +3155,10 @@ public class SC_EnchantOptionResult
|
|||
public SD_OptionDetailData lastoption;
|
||||
public SD_EquipItemEnchant newoption;
|
||||
}
|
||||
public class SC_EquipmentMenuBackResult
|
||||
{
|
||||
public Dictionary<eItem, int> Equip;
|
||||
}
|
||||
public class SC_PetGachaResult
|
||||
{
|
||||
public int gem;
|
||||
|
|
@ -3225,4 +3229,33 @@ public class CS_EquipSlotEnchantData
|
|||
public eItem Parts;
|
||||
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
|
||||
|
|
@ -1436,6 +1436,7 @@ public class ServerInfo : MyCoroutine
|
|||
Set_Coroutine(() => { Save_Equipment_Craft(itemid, _act); }, 2f);
|
||||
});
|
||||
}
|
||||
[Obsolete("Use Save_Equipment_MenuBack Instead")]
|
||||
public void Save_Equipment_Equip(int itemid, Action _act)
|
||||
{
|
||||
NetWait.Ins.Set(true);
|
||||
|
|
@ -1663,6 +1664,7 @@ public class ServerInfo : MyCoroutine
|
|||
/// <summary>
|
||||
/// itemid : 인챈트 할 착용 아이템 id
|
||||
/// </summary>
|
||||
[Obsolete("Use Save_Equipment_MenuBack Instead")]
|
||||
public void Save_EquipItem_Enchant(int itemid, int eid, int slot, Action<SC_EnchantEquipItemResult> _act)
|
||||
{
|
||||
NetWait.Ins.Set(true);
|
||||
|
|
@ -1703,6 +1705,37 @@ public class ServerInfo : MyCoroutine
|
|||
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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -76,6 +76,15 @@ public class EquipmentPopup_Obtain : EquipmentPopupBase
|
|||
{
|
||||
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, () =>
|
||||
{
|
||||
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;
|
||||
}
|
||||
});
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 };
|
||||
CS_EquipmentMenuBackData m_MenuBackData = new CS_EquipmentMenuBackData();
|
||||
|
||||
public override void Set()
|
||||
{
|
||||
base.Set();
|
||||
m_MenuBackData.Init();
|
||||
Set_Money(101, 102, 103);
|
||||
m_EqiupmentPCInfo.Set();
|
||||
m_equipItems.Set();
|
||||
|
|
@ -72,7 +74,24 @@ public class EquipmentUI : BotMenuBase
|
|||
|
||||
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_EquipmentMakePopup.OnClick_Back();
|
||||
PopupMgr.Ins.m_EquipmentPopup.OnClick_Back();
|
||||
|
|
|
|||
Loading…
Reference in New Issue