110 lines
3.9 KiB
C#
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();
|
|
}
|
|
} |