void InitHeroesItem() { UIScrollView scroll = m_GridHeroes.GetComponentInParent <UIScrollView>(); if (m_Heroes != null) { m_GridHeroes.repositionNow = true; return; } m_Heroes = new List <DungeonHero>(); CreatureManager.Instance.Sort(); var creatures = CreatureManager.Instance.GetFilteredList(c => TeamDataManager.Instance.CheckAdventureTeam(c.Idx) == false); foreach (Creature creature in CreatureManager.Instance.GetSortedList(eCreatureSort.Power, false, creatures)) { DungeonHero item = NGUITools.AddChild(m_GridHeroes.gameObject, DungeonHeroPrefab).GetComponent <DungeonHero>(); item.Init(creature, m_CurrentTeam != null && m_CurrentTeam.Contains(creature.Idx), false, OnToggleCharacter, OnDeepTouchListCharacter); m_Heroes.Add(item); } foreach (Creature creature in TeamDataManager.Instance.GetCreaturesInAdventure()) { DungeonHero item = NGUITools.AddChild(m_GridHeroes.gameObject, DungeonHeroPrefab).GetComponent <DungeonHero>(); item.Init(creature, false, false, OnToggleCharacterInAdventure, OnDeepTouchListCharacter); m_Heroes.Add(item); } int count = m_Heroes.Count; while (count++ % m_GridHeroes.maxPerLine != 0) { DungeonHero item = NGUITools.AddChild(m_GridHeroes.gameObject, DungeonHeroPrefab).GetComponent <DungeonHero>(); item.Init(); m_Heroes.Add(item); } m_GridHeroes.repositionNow = true; if (scroll != null) { scroll.ResetPosition(); } }
void InitHeroesItem() { if (m_Heroes != null) { m_GridHeroes.Reposition(); return; } m_Heroes = new List <DungeonHero>(); CreatureManager.Instance.Sort(); List <Creature> creatures = CreatureManager.Instance.GetFilteredList(c => c.Grade > 0); if (m_StageInfo.MapInfo.AvailableTags.Count > 0) { creatures = creatures.Where(c => c.Info.ContainsTags(m_StageInfo.MapInfo.AvailableTags)).ToList(); } if (m_StageInfo.MapInfo.MapType.Equals("boss") || m_StageInfo.MapInfo.MapType.Equals("worldboss")) { foreach (Creature creature in creatures.Where(c => m_StageInfo.Recommends.Exists(r => r.ID == c.Info.ID))) { DungeonHero item = NGUITools.AddChild(m_GridHeroes.gameObject, DungeonHeroPrefab).GetComponent <DungeonHero>(); item.Init(creature, m_TeamData != null && m_TeamData.Contains(creature.Idx), true, OnToggleCharacter, OnDeepTouchListCharacter); m_Heroes.Add(item); } creatures.RemoveAll(c => m_StageInfo.Recommends.Exists(r => r.ID == c.Info.ID)); } creatures = CreatureManager.Instance.GetSortedList(eCreatureSort.Power, false, creatures); foreach (Creature creature in creatures.Where(e => TeamDataManager.Instance.CheckAdventureTeam(e.Idx) == false)) { DungeonHero item = NGUITools.AddChild(m_GridHeroes.gameObject, DungeonHeroPrefab).GetComponent <DungeonHero>(); item.Init(creature, m_TeamData != null && m_TeamData.Contains(creature.Idx), false, OnToggleCharacter, OnDeepTouchListCharacter); m_Heroes.Add(item); } foreach (Creature creature in creatures.Where(e => TeamDataManager.Instance.CheckAdventureTeam(e.Idx) == true)) { DungeonHero item = NGUITools.AddChild(m_GridHeroes.gameObject, DungeonHeroPrefab).GetComponent <DungeonHero>(); item.Init(creature, false, false, OnToggleCharacterInAdventure, OnDeepTouchListCharacter); m_Heroes.Add(item); } int count = m_Heroes.Count; while (count++ % m_GridHeroes.maxPerLine != 0) { DungeonHero item = NGUITools.AddChild(m_GridHeroes.gameObject, DungeonHeroPrefab).GetComponent <DungeonHero>(); item.Init(); m_Heroes.Add(item); } m_GridHeroes.Reposition(); UIScrollView scroll = m_GridHeroes.GetComponentInParent <UIScrollView>(); if (scroll != null) { scroll.ResetPosition(); } }
void InitMix() { heroItemPrefabManager.Clear(); m_CreatureCount = 0; TeamData team = TeamDataManager.Instance.GetTeam(pe_Team.PVP_Defense); bool level_limit = IsLevelLimit(m_Creature, m_MixBaseLevelLimit); bool enchant_limit = IsEnchantLimit(m_Creature); bool grade_max = IsGradeLimit(m_Creature); bool pvp_defense = team != null && team.Contains(m_Creature.Idx) == true; if (level_limit || enchant_limit || grade_max || pvp_defense) { m_LabelHelp.text = Localization.Get("HeroMixInvalidState"); if (grade_max) { m_LabelHelp.text += "\n" + Localization.Get("InvalidStateGradeMax"); } else if (enchant_limit) { m_LabelHelp.text += "\n" + Localization.Get("InvalidStateEnchant"); } else if (level_limit) { m_LabelHelp.text += "\n" + Localization.Get("InvalidStateLevel"); } else if (pvp_defense) { m_LabelHelp.text += "\n" + Localization.Get("InvalidStatePVPDefenseTeam"); } m_LabelHelpDesc.text = Localization.Format("Help_HeroMix", m_MixBaseLevelLimit, m_MixLevelLimit); m_Help.gameObject.SetActive(true); } else { if (InitHeroItem() == false) { m_LabelHelp.text = Localization.Get("HeroMixNotExistsMaterial"); m_LabelHelpDesc.text = Localization.Format("Help_HeroMix", m_MixBaseLevelLimit, m_MixLevelLimit); m_Help.gameObject.SetActive(true); } else { m_Help.gameObject.SetActive(false); } } m_EnchantBase = heroItemPrefabManager.GetNewObject <EnchantHero>(EnchantBaseIndicator.transform, Vector3.zero); m_EnchantBase.Init(m_Creature); m_EnchantMaterial = heroItemPrefabManager.GetNewObject <EnchantHero>(EnchantMaterialIndicator.transform, Vector3.zero); InitMixMaterialDummy(); m_LabelEnchantButton.text = m_LabelEnchantMenu.text = Localization.Get("Mix"); m_Hero.InitDummy(null, (short)(Math.Min(6, m_Creature.Grade + 1)), 1, 0, ""); m_Question.gameObject.SetActive(true); InitInfo(); }