|
@@ -1,4 +1,5 @@
|
|
|
using System.Collections.Generic;
|
|
|
+using System.Linq;
|
|
|
using System.Threading.Tasks;
|
|
|
using FairyGUI;
|
|
|
using UI.CommonGame;
|
|
@@ -9,12 +10,11 @@ namespace GFGGame
|
|
|
{
|
|
|
public class StoryCardChoose : BaseWindow
|
|
|
{
|
|
|
-
|
|
|
private UI_StoryCardChooseUI _ui;
|
|
|
private List<CardData> cardList = new List<CardData>();
|
|
|
private static int _scoreType;
|
|
|
private int _selectedIndex = 0;
|
|
|
- private int _cardId = 0;//记录打开界面时的竞技场卡牌id
|
|
|
+ private int _cardId = 0; //记录打开界面时的竞技场卡牌id
|
|
|
private int _skillId = 0;
|
|
|
|
|
|
private List<GameObject> _effects = new List<GameObject>();
|
|
@@ -22,6 +22,7 @@ namespace GFGGame
|
|
|
private GameObject gameObject0;
|
|
|
private GoWrapper wrapper0;
|
|
|
private GComponent _comSelected;
|
|
|
+
|
|
|
public override void Dispose()
|
|
|
{
|
|
|
base.Dispose();
|
|
@@ -30,6 +31,7 @@ namespace GFGGame
|
|
|
_comSelected.RemoveFromParent();
|
|
|
_comSelected.Dispose();
|
|
|
}
|
|
|
+
|
|
|
for (int i = 0; i < _effects.Count; i++)
|
|
|
{
|
|
|
SceneController.DestroyObjectFromView(_effects[i], _wrappers[i]);
|
|
@@ -67,20 +69,38 @@ namespace GFGGame
|
|
|
|
|
|
// SceneController.AddObjectToView(gameObject0, null, _comSelected.GetChild("holder").asGraph, resPath, out gameObject0, out wrapper0);
|
|
|
}
|
|
|
+
|
|
|
protected override void OnShown()
|
|
|
{
|
|
|
base.OnShown();
|
|
|
_scoreType = (int)viewData;
|
|
|
+ ArenaDataManager dataManager = ArenaDataManager.Instance;
|
|
|
+ //其他主题带的cardIds
|
|
|
+ var otherThemeCardIds = new HashSet<int>();
|
|
|
+ for (int i = 0; i < dataManager.DressupList.Count; i++)
|
|
|
+ {
|
|
|
+ if (dataManager.SelectThemeIndex == i)
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ otherThemeCardIds.Add(dataManager.DressupList[i].cardId);
|
|
|
+ }
|
|
|
+
|
|
|
cardList = CardDataManager.GetCardListByRarity(0);
|
|
|
- float dressListAllAcore = FightDataManager.Instance.GetDressListAllScore(MyDressUpHelper.dressUpObj.itemList, _scoreType);
|
|
|
+ //去掉已经在其他主题装配的cardList
|
|
|
+ cardList = cardList.Where(a => !otherThemeCardIds.Contains(a.id)).ToList();
|
|
|
+
|
|
|
+ float dressListAllAcore =
|
|
|
+ FightDataManager.Instance.GetDressListAllScore(MyDressUpHelper.dressUpObj.itemList, _scoreType);
|
|
|
cardList = FightDataManager.Instance.SortCardList(cardList, dressListAllAcore, _scoreType);
|
|
|
_ui.m_listCard.numItems = cardList.Count;
|
|
|
_ui.m_listCard.selectedIndex = 0;
|
|
|
if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
|
|
|
{
|
|
|
- ArenaDataManager dataManager = ArenaDataManager.Instance;
|
|
|
_cardId = dataManager.DressupList[dataManager.SelectThemeIndex].cardId;
|
|
|
}
|
|
|
+
|
|
|
OnCardSelected(cardList[0].id);
|
|
|
UpdateView(0);
|
|
|
|
|
@@ -107,24 +127,29 @@ namespace GFGGame
|
|
|
int childIndex = _ui.m_listCard.ItemIndexToChildIndex(index);
|
|
|
_ui.m_listCard.GetChildAt(childIndex).asCom.AddChild(_comSelected);
|
|
|
}
|
|
|
+
|
|
|
private void RenderListSkillItem(int index, GObject obj)
|
|
|
{
|
|
|
List<PassivitySkillCfg> skillCfgs = obj.parent.data as List<PassivitySkillCfg>;
|
|
|
UI_ListCardSkillItem item = UI_ListCardSkillItem.Proxy(obj);
|
|
|
item.m_loaSkill.url = ResPathUtil.GetCardSkillPath(skillCfgs[index].res);
|
|
|
- item.m_txtLv.text = SkillDataManager.Instance.GetCardSkillLv(skillCfgs[index].cardId, skillCfgs[index].skillId).ToString();
|
|
|
+ item.m_txtLv.text = SkillDataManager.Instance
|
|
|
+ .GetCardSkillLv(skillCfgs[index].cardId, skillCfgs[index].skillId).ToString();
|
|
|
if (item.target.data == null)
|
|
|
{
|
|
|
item.target.onClick.Add(OnSkillItemClick);
|
|
|
}
|
|
|
- item.target.data = index;// skillCfgs[index];
|
|
|
+
|
|
|
+ item.target.data = index; // skillCfgs[index];
|
|
|
UI_ListCardSkillItem.ProxyEnd();
|
|
|
}
|
|
|
+
|
|
|
private void OnSkillItemClick(EventContext context)
|
|
|
{
|
|
|
GObject gObject = context.sender as GObject;
|
|
|
int index = (int)gObject.data;
|
|
|
- List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardList[_selectedIndex].id);
|
|
|
+ List<PassivitySkillCfg> skillCfgs =
|
|
|
+ PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardList[_selectedIndex].id);
|
|
|
|
|
|
PassivitySkillCfg skillCfg = skillCfgs[index];
|
|
|
_ui.m_comSkillTips.target.visible = _skillId != skillCfg.skillId;
|
|
@@ -135,22 +160,25 @@ namespace GFGGame
|
|
|
|
|
|
_ui.m_comSkillTips.m_txtName.text = skillCfg.name;
|
|
|
int skillLv = SkillDataManager.Instance.GetCardSkillLv(skillCfg.cardId, skillCfg.skillId);
|
|
|
- PassivitySkillLvlCfg skillLvlCfg = PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv, skillCfg.skillId);
|
|
|
+ PassivitySkillLvlCfg skillLvlCfg =
|
|
|
+ PassivitySkillLvlCfgArray.Instance.GetCfgByskilllvlAndskillId(skillLv, skillCfg.skillId);
|
|
|
_ui.m_comSkillTips.m_txtSkillTips.text = skillLvlCfg.describe;
|
|
|
|
|
|
_skillId = skillCfg.skillId;
|
|
|
-
|
|
|
}
|
|
|
+
|
|
|
private void RenderListCardItem(int index, GObject obj)
|
|
|
{
|
|
|
CardData cardData = cardList[index];
|
|
|
- UI_ListCardItem item = UI_ListCardItem.Proxy(obj);// obj as GButton;
|
|
|
+ UI_ListCardItem item = UI_ListCardItem.Proxy(obj); // obj as GButton;
|
|
|
|
|
|
item.m_txtName.text = cardData.itemCfg.name;
|
|
|
- item.m_comCardMask.m_loaCard.asLoader.url = ResPathUtil.GetCardIconPath(cardData.resources[cardData.resIndex]);
|
|
|
+ item.m_comCardMask.m_loaCard.asLoader.url =
|
|
|
+ ResPathUtil.GetCardIconPath(cardData.resources[cardData.resIndex]);
|
|
|
item.m_txtLv.text = string.Format("{0}级", cardData.lv);
|
|
|
// item.m_loaRarity.url = ResPathUtil.GetCommonGameResPath("kp_sxing_x_" + cardData.itemCfg.rarity);
|
|
|
- RarityIconController.UpdateRarityIcon(item.m_loaRarity, cardData.itemCfg.id, false);// ResPathUtil.GetCommonGameResPath("kp_sxing_x_" + data.itemCfg.rarity);
|
|
|
+ RarityIconController.UpdateRarityIcon(item.m_loaRarity, cardData.itemCfg.id,
|
|
|
+ false); // ResPathUtil.GetCommonGameResPath("kp_sxing_x_" + data.itemCfg.rarity);
|
|
|
item.m_loaMainScore.url = ResPathUtil.GetCommonGameResPath("kp_sx_" + (cardData.itemCfg.mainScore));
|
|
|
item.m_loaBorder.url = "ui://CommonGame/kp_kuang_" + cardData.itemCfg.rarity;
|
|
|
// UI_ComStar comStar = UI_ComStar.Proxy(item.m_comStar);
|
|
@@ -165,15 +193,16 @@ namespace GFGGame
|
|
|
// _effects.Add(gameObject0);
|
|
|
// _wrappers.Add(wrapper0);
|
|
|
}
|
|
|
+
|
|
|
UI_ListCardItem.ProxyEnd();
|
|
|
// UI_ComStar.ProxyEnd();
|
|
|
}
|
|
|
+
|
|
|
private void OnListCardItemClick(EventContext context)
|
|
|
{
|
|
|
UpdateView(_ui.m_listCard.selectedIndex);
|
|
|
|
|
|
OnCardSelected(cardList[_ui.m_listCard.selectedIndex].id);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
private void OnCardSelected(int cardId)
|
|
@@ -182,15 +211,19 @@ namespace GFGGame
|
|
|
{
|
|
|
ArenaDataManager dataManager = ArenaDataManager.Instance;
|
|
|
dataManager.DressupList[dataManager.SelectThemeIndex].cardId = cardId;
|
|
|
- dataManager.SetMineFightAttr(dataManager.DressupList[dataManager.SelectThemeIndex], dataManager.SelectThemeIndex);
|
|
|
+ dataManager.SetMineFightAttr(dataManager.DressupList[dataManager.SelectThemeIndex],
|
|
|
+ dataManager.SelectThemeIndex);
|
|
|
EventAgent.DispatchEvent(ConstMessage.CARD_SELECTED);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
private void OnBtnUpCardClikc()
|
|
|
{
|
|
|
- ViewManager.Show<CardFosterView>(cardList[_ui.m_listCard.selectedIndex], new object[] { typeof(StoryCardChoose).FullName, _scoreType });
|
|
|
+ ViewManager.Show<CardFosterView>(cardList[_ui.m_listCard.selectedIndex],
|
|
|
+ new object[] { typeof(StoryCardChoose).FullName, _scoreType });
|
|
|
this.Hide();
|
|
|
}
|
|
|
+
|
|
|
private void OnBtnComfirmClick()
|
|
|
{
|
|
|
int cardId = cardList[_ui.m_listCard.selectedIndex].id;
|
|
@@ -198,7 +231,8 @@ namespace GFGGame
|
|
|
if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
|
|
|
{
|
|
|
ArenaDataManager dataManager = ArenaDataManager.Instance;
|
|
|
- ArenaSproxy.ReqChangeArenaDressup(dataManager.SelectThemeIndex, cardId, MyDressUpHelper.dressUpObj.itemList).Coroutine();
|
|
|
+ ArenaSproxy.ReqChangeArenaDressup(dataManager.SelectThemeIndex, cardId,
|
|
|
+ MyDressUpHelper.dressUpObj.itemList).Coroutine();
|
|
|
if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
|
|
|
{
|
|
|
ViewManager.GoBackFrom(typeof(ArenaDressUpFightView).FullName);
|
|
@@ -210,6 +244,7 @@ namespace GFGGame
|
|
|
InstanceZonesDataManager.currentCardId = cfgs.Count > 0 ? cardId : -1;
|
|
|
EventAgent.DispatchEvent(ConstMessage.CARD_CHOOSE);
|
|
|
}
|
|
|
+
|
|
|
this.Hide();
|
|
|
}
|
|
|
|
|
@@ -219,14 +254,15 @@ namespace GFGGame
|
|
|
OnCardSelected(_cardId);
|
|
|
this.Hide();
|
|
|
}
|
|
|
+
|
|
|
protected override void OnHide()
|
|
|
{
|
|
|
base.OnHide();
|
|
|
_skillId = 0;
|
|
|
_ui.m_listCard.ScrollToView(0);
|
|
|
Timers.inst.Remove(CheckGuide);
|
|
|
-
|
|
|
}
|
|
|
+
|
|
|
private void CheckGuide(object param)
|
|
|
{
|
|
|
if (GuideDataManager.IsGuideFinish(ConstGuideId.SKILL_CARD_FIGHT) <= 0)
|
|
@@ -238,11 +274,13 @@ namespace GFGGame
|
|
|
Timers.inst.Remove(CheckGuide);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
protected override void UpdateToCheckGuide(object param)
|
|
|
{
|
|
|
if (!ViewManager.CheckIsTopView(this.viewCom)) return;
|
|
|
|
|
|
- GuideController.TryGuide(null, ConstGuideId.SKILL_CARD_FIGHT, 1, "词牌可以辅助战斗,增加过关概率哦。", -1, true, _ui.m_btnCancel.y + _ui.m_btnCancel.height);
|
|
|
+ GuideController.TryGuide(null, ConstGuideId.SKILL_CARD_FIGHT, 1, "词牌可以辅助战斗,增加过关概率哦。", -1, true,
|
|
|
+ _ui.m_btnCancel.y + _ui.m_btnCancel.height);
|
|
|
GuideController.TryGuide(_ui.m_listCard, ConstGuideId.SKILL_CARD_FIGHT, 2, "选择一张合适的词牌,增加过关战斗力。", 0);
|
|
|
GuideController.TryCompleteGuide(ConstGuideId.SKILL_CARD_FIGHT, 2);
|
|
|
}
|