Project_WL/Assets/Script/UI/Eqiupment/EquipmentUI.cs

110 lines
3.9 KiB
C#

using System.Collections.Generic;
public class EquipmentUI : BotMenuBase
{
public TabUIBase m_Tab;
public EqiupmentPCInfo m_EqiupmentPCInfo;
public EquipmentUI_EquipItems m_equipItems; // 중앙 착용 중인 6개의 아이템
public EquipmentUI_Items m_EquipmentUI_Items; // 우측 아이템 도감
public EquipmentUI_Enchant m_EquipmentUI_Enchant; // 우측 인챈트 리스트
List<TabUIData> list_tabData = new List<TabUIData>
{
new TabUIData{ btnImg_off = "menu tab icon 1", btnImg_on = "menu tab icon 1" },
new TabUIData{ btnImg_off = "menu tab icon 2", btnImg_on = "menu tab icon 2" },
new TabUIData{ btnImg_off = "menu tab icon 3", btnImg_on = "menu tab icon 3" },
new TabUIData{ btnImg_off = "menu tab icon 4", btnImg_on = "menu tab icon 4" },
new TabUIData{ btnImg_off = "menu tab icon 5", btnImg_on = "menu tab icon 5" },
new TabUIData{ btnImg_off = "menu tab icon 6", btnImg_on = "menu tab icon 6" },
};
List<eStat> list_infostat = new List<eStat> { eStat.BaseDmg, eStat.MaxHP, eStat.STR, eStat.DEX, eStat.INT, eStat.LUK };
public CS_EquipmentMenuBackData m_MenuBackData = new CS_EquipmentMenuBackData();
public override void Set()
{
base.Set();
m_MenuBackData.Init(true, true);
Set_Money(101, 102, 103);
m_EqiupmentPCInfo.Set();
m_equipItems.Set();
for (int i = 0; i < list_tabData.Count; i++)
{
list_tabData[i].onClick = OnClick_Button;
}
m_Tab.Set(list_tabData);
if (m_Tab.Get_Index() == 0)
m_Tab.OnClick_Tab_byScript(1); // 진입 시 인챈트라면 무기로 변경
else
OnClick_Button();
Set_ScrollView(list_infostat);
}
public void Set_Scrollviews(bool active)
{
if (active)
{
OnClick_Button();
list_tabData.ForEach(f => f.CanTouch = true);
}
else
{
m_EquipmentUI_Items.gameObject.SetActive(false);
m_EquipmentUI_Enchant.gameObject.SetActive(false);
list_tabData.ForEach(f => f.CanTouch = false);
}
}
public void OnClick_Button()
{
var index = m_Tab.Get_Index();
switch (index)
{
case 0: // 인챈트
m_EquipmentUI_Items.gameObject.SetActive(false);
m_EquipmentUI_Enchant.Set();
break;
default: // 장비
m_EquipmentUI_Items.Set(eItem.Weapon + index - 1);
m_EquipmentUI_Enchant.gameObject.SetActive(false);
break;
}
}
public override void 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;
sdata.Slot.Clear();
for (int i = 0; i < result.Slot.Count; i++)
sdata.Slot.Add(result.Slot[i].Get());
for (int i = 0; i < result.AllEnchantAmount.Count; i++)
sdata.Set_Item(result.AllEnchantAmount[i].itemid, result.AllEnchantAmount[i].amount);
sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_ENCHANT_ACC, 0, result.EnchantCount);
sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_ENCHANT_ALL, 0, result.EnchantCount);
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();
}
}