Example #1
0
    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();
        }
    }
Example #2
0
    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();
        }
    }
Example #3
0
    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();
    }