|
@@ -1,5 +1,5 @@
|
|
using UI.RoleInfo;
|
|
using UI.RoleInfo;
|
|
-using System.Text.RegularExpressions;
|
|
|
|
|
|
+using System.Collections.Generic;
|
|
using FairyGUI;
|
|
using FairyGUI;
|
|
using UI.CommonGame;
|
|
using UI.CommonGame;
|
|
|
|
|
|
@@ -8,6 +8,8 @@ namespace GFGGame
|
|
public class ChangeHeadView : BaseWindow
|
|
public class ChangeHeadView : BaseWindow
|
|
{
|
|
{
|
|
private UI_ChangeHead _ui;
|
|
private UI_ChangeHead _ui;
|
|
|
|
+ private List<ItemCfg> _headCfgs = new List<ItemCfg>();
|
|
|
|
+ private List<ItemCfg> _headBorderCfgs = new List<ItemCfg>();
|
|
private int _selectHeadId = 0;
|
|
private int _selectHeadId = 0;
|
|
private int _selectHeadBorderId = 0;
|
|
private int _selectHeadBorderId = 0;
|
|
|
|
|
|
@@ -47,6 +49,10 @@ namespace GFGGame
|
|
base.OnShown();
|
|
base.OnShown();
|
|
RoleInfoManager.Instance.SortHeadDatas();
|
|
RoleInfoManager.Instance.SortHeadDatas();
|
|
RoleInfoManager.Instance.SortHeadBorderDatas();
|
|
RoleInfoManager.Instance.SortHeadBorderDatas();
|
|
|
|
+ _headCfgs.AddRange(ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.HEAD, ConstItemSubType.ROLE_HEAD));
|
|
|
|
+ _headCfgs = SoreItemCfgDatas(_headCfgs);
|
|
|
|
+ _headBorderCfgs.AddRange(ItemCfgArray.Instance.GetCfgsByitemTypeAndsubType(ConstItemType.HEAD, ConstItemSubType.ROLE_HEAD));
|
|
|
|
+ _headBorderCfgs = SoreItemCfgDatas(_headBorderCfgs);
|
|
OnTabChange();
|
|
OnTabChange();
|
|
// _ui.m_list.selectedIndex = 0;
|
|
// _ui.m_list.selectedIndex = 0;
|
|
// _ui.m_listBorder.selectedIndex = 0;
|
|
// _ui.m_listBorder.selectedIndex = 0;
|
|
@@ -56,6 +62,8 @@ namespace GFGGame
|
|
{
|
|
{
|
|
base.OnHide();
|
|
base.OnHide();
|
|
_ui.m_c1.selectedIndex = 0;
|
|
_ui.m_c1.selectedIndex = 0;
|
|
|
|
+ _headCfgs.Clear();
|
|
|
|
+ _headBorderCfgs.Clear();
|
|
}
|
|
}
|
|
private async void OnBtnSureClick()
|
|
private async void OnBtnSureClick()
|
|
{
|
|
{
|
|
@@ -79,11 +87,11 @@ namespace GFGGame
|
|
|
|
|
|
private void RenderListItem(int index, GObject obj)
|
|
private void RenderListItem(int index, GObject obj)
|
|
{
|
|
{
|
|
- int headId = RoleInfoManager.Instance.headDatas[index];
|
|
|
|
- ItemCfg cfg = ItemCfgArray.Instance.GetCfg(headId);
|
|
|
|
|
|
+ int headId = _headCfgs[index].id;
|
|
UI_ListHeadItem item = UI_ListHeadItem.Proxy(obj);
|
|
UI_ListHeadItem item = UI_ListHeadItem.Proxy(obj);
|
|
- item.m_loaIcon.url = ResPathUtil.GetHeadPath(cfg.res);
|
|
|
|
|
|
+ item.m_loaIcon.url = ResPathUtil.GetHeadPath(_headCfgs[index].res);
|
|
item.m_imgNew.visible = RoleInfoManager.Instance.isNewHead(headId);
|
|
item.m_imgNew.visible = RoleInfoManager.Instance.isNewHead(headId);
|
|
|
|
+ item.m_imgUnGet.visible = ItemDataManager.GetItemNum(headId) <= 0;
|
|
if (RoleInfoManager.Instance.isNewHead(headId))
|
|
if (RoleInfoManager.Instance.isNewHead(headId))
|
|
{
|
|
{
|
|
ItemProxy.ReqSetItemRead(headId).Coroutine();
|
|
ItemProxy.ReqSetItemRead(headId).Coroutine();
|
|
@@ -98,12 +106,13 @@ namespace GFGGame
|
|
private void RenderListBorderItem(int index, GObject obj)
|
|
private void RenderListBorderItem(int index, GObject obj)
|
|
{
|
|
{
|
|
ItemCfg headCfg = ItemCfgArray.Instance.GetCfg(RoleDataManager.headId);
|
|
ItemCfg headCfg = ItemCfgArray.Instance.GetCfg(RoleDataManager.headId);
|
|
- int headBorderId = RoleInfoManager.Instance.headBorderDatas[index];
|
|
|
|
- ItemCfg borderCfg = ItemCfgArray.Instance.GetCfg(headBorderId);
|
|
|
|
|
|
+ ItemCfg borderCfg = _headBorderCfgs[index];
|
|
|
|
+ int headBorderId = borderCfg.id;
|
|
UI_ListHeadBorderItem item = UI_ListHeadBorderItem.Proxy(obj);
|
|
UI_ListHeadBorderItem item = UI_ListHeadBorderItem.Proxy(obj);
|
|
item.m_loaIcon.url = ResPathUtil.GetHeadPath(headCfg.res);
|
|
item.m_loaIcon.url = ResPathUtil.GetHeadPath(headCfg.res);
|
|
item.m_loaBorder.url = ResPathUtil.GetHeadBorderPath(borderCfg.res);
|
|
item.m_loaBorder.url = ResPathUtil.GetHeadBorderPath(borderCfg.res);
|
|
item.m_imgNew.visible = RoleInfoManager.Instance.isNewHeadBorder(headBorderId);
|
|
item.m_imgNew.visible = RoleInfoManager.Instance.isNewHeadBorder(headBorderId);
|
|
|
|
+ item.m_imgUnGet.visible = ItemDataManager.GetItemNum(headBorderId) <= 0;
|
|
if (RoleInfoManager.Instance.isNewHeadBorder(headBorderId))
|
|
if (RoleInfoManager.Instance.isNewHeadBorder(headBorderId))
|
|
{
|
|
{
|
|
ItemProxy.ReqSetItemRead(headBorderId).Coroutine();
|
|
ItemProxy.ReqSetItemRead(headBorderId).Coroutine();
|
|
@@ -120,6 +129,11 @@ namespace GFGGame
|
|
{
|
|
{
|
|
GObject obj = context.data as GObject;
|
|
GObject obj = context.data as GObject;
|
|
_selectHeadId = (int)obj.data;
|
|
_selectHeadId = (int)obj.data;
|
|
|
|
+ if (ItemDataManager.GetItemNum(_selectHeadId) <= 0)
|
|
|
|
+ {
|
|
|
|
+ PromptController.Instance.ShowFloatTextPrompt("暂未获得");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
UpdateView();
|
|
UpdateView();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -127,6 +141,11 @@ namespace GFGGame
|
|
{
|
|
{
|
|
GObject obj = context.data as GObject;
|
|
GObject obj = context.data as GObject;
|
|
_selectHeadBorderId = (int)obj.data;
|
|
_selectHeadBorderId = (int)obj.data;
|
|
|
|
+ if (ItemDataManager.GetItemNum(_selectHeadBorderId) <= 0)
|
|
|
|
+ {
|
|
|
|
+ PromptController.Instance.ShowFloatTextPrompt("暂未获得");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
UpdateView();
|
|
UpdateView();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -136,11 +155,11 @@ namespace GFGGame
|
|
_selectHeadBorderId = RoleDataManager.headBorderId;
|
|
_selectHeadBorderId = RoleDataManager.headBorderId;
|
|
if (_ui.m_c1.selectedIndex == 0)
|
|
if (_ui.m_c1.selectedIndex == 0)
|
|
{
|
|
{
|
|
- _ui.m_list.numItems = RoleInfoManager.Instance.headDatas.Count;
|
|
|
|
|
|
+ _ui.m_list.numItems = _headCfgs.Count;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- _ui.m_listBorder.numItems = RoleInfoManager.Instance.headBorderDatas.Count; ;
|
|
|
|
|
|
+ _ui.m_listBorder.numItems = _headBorderCfgs.Count;
|
|
}
|
|
}
|
|
UpdateView();
|
|
UpdateView();
|
|
}
|
|
}
|
|
@@ -161,5 +180,18 @@ namespace GFGGame
|
|
_ui.m_txtDesc.text = headBorderCfg.desc;
|
|
_ui.m_txtDesc.text = headBorderCfg.desc;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ private List<ItemCfg> SoreItemCfgDatas(List<ItemCfg> list)
|
|
|
|
+ {
|
|
|
|
+ list.Sort((ItemCfg a, ItemCfg b) =>
|
|
|
|
+ {
|
|
|
|
+ long hasA = ItemDataManager.GetItemNum(a.id);
|
|
|
|
+ long hasB = ItemDataManager.GetItemNum(a.id);
|
|
|
|
+ if (hasA > 0 && hasB <= 0) return 1;
|
|
|
|
+ if (hasB > 0 && hasA <= 0) return -1;
|
|
|
|
+
|
|
|
|
+ return b.id - a.id;
|
|
|
|
+ });
|
|
|
|
+ return list;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|