Пример #1
0
    public void Init(BattleEndCreature creature)
    {
        m_Creature = creature;
        m_InitTime = Time.time;
        if (m_DungeonHero == null)
        {
            m_DungeonHero = NGUITools.AddChild(m_HeroIndicator, m_DungeonHeroPrefab).GetComponent <DungeonHero>();
        }

        m_DungeonHero.Init(creature);

        m_TotalProgressValue        = m_Creature.AddExp;
        m_ProgressExp.numberOfSteps = LevelInfoManager.Instance.GetCharacterExpMax(m_Creature.Level);
        m_ProgressCurrentValue      = m_Creature.Exp;
        m_ProgressExp.value         = (float)m_ProgressCurrentValue / m_ProgressExp.numberOfSteps;
        m_LabelLevelUP.gameObject.SetActive(false);

        m_ProgressFinalValue = m_Creature.Creature.Exp;
        m_LabelExp.text      = Localization.Format("AddExp", m_Creature.AddExp);

        if (m_Creature.IsLevelUp && m_ProgressCurrentValue <= m_ProgressFinalValue)
        {
            m_ProgressCurrentValue = m_ProgressFinalValue + 1;
        }
        gameObject.SetActive(true);
    }
Пример #2
0
    public void OnCharacterClick()
    {
        if (m_Mode == Mode.Position)
        {
            return;
        }

        var container = GetPressCharacter();

        if (container != null)
        {
            switch (m_Mode)
            {
            case Mode.Info:
                OnMainCharacter(container.Character.Creature as Creature, false);
                break;

            case Mode.Hero:
                DungeonHero hero = m_Heroes.Find(h => h.Creature.Idx == container.CharacterAsset.Asset.Creature.Idx);
                if (hero != null)
                {
                    hero.OnBtnCreatureClick();
                    return;
                }
                break;
            }
        }
    }
Пример #3
0
    public void Init()
    {
        m_Profile.UpdateProfile(Network.PVPBattleInfo.enemy_info.leader_creature, Network.PVPBattleInfo.enemy_info.nickname, Network.PVPBattleInfo.enemy_info.player_level);
        m_EnemyDefenseTeam = Network.PVPBattleInfo.enemy_team_data;
        m_LeaderSkill.Init(m_EnemyDefenseTeam.LeaderCreature, m_EnemyDefenseTeam.UseLeaderSkillType);
        m_BG.SetSpriteActive(Network.PVPBattleInfo.enemy_info.account_idx == SHSavedData.AccountIdx);

        m_LabelMessage.text = Network.PVPBattleInfo.enemy_info.message;
        m_LabelRank.text    = Localization.Format("PVPRank", Network.PVPBattleInfo.enemy_info.rank);
        foreach (var hero in m_EnemyDefenseTeam.Creatures.Select(c => c.creature))
        {
            DungeonHero hero_item = m_HeroManager.GetNewObject <DungeonHero>(m_GridHeroes.transform, Vector3.zero);
            hero_item.Init(hero, false, false);
            hero_item.m_icon.flip = UIBasicSprite.Flip.Horizontally;
        }
        m_GridHeroes.Reposition();

        m_LabelTeamPower.text = Localization.Format("PowerValue", m_EnemyDefenseTeam.Power);

        m_ReadyButtonObj.SetActive(m_bReadyToBattle);
        m_GridButtons.Reposition();
        if (m_bReadyToBattle)
        {
            m_LabelCancel.text = Localization.Get("Cancel");
        }
        else
        {
            m_LabelCancel.text = Localization.Get("OK");
        }
    }
Пример #4
0
    void InitDefense()
    {
        if (m_DefenseTeam == null)
        {
            bNeedDefenseTeamSet         = true;
            ShowPopupSetDefenseTeamTime = Time.realtimeSinceStartup + ShowPopupSetDefenseTeamTimeGap;
            return;
        }

        m_LeaderSkill.Init(m_DefenseTeam.LeaderCreature, m_DefenseTeam.UseLeaderSkillType);
        //m_DefenseTeamManager.Clear();
        int count = m_DefenseTeam.Creatures.Count;

        for (int i = 0; i < count; ++i)
        {
            if (DefenseList.Count > i)
            {
                DefenseList[i].Init(m_DefenseTeam.Creatures[count - 1 - i].creature, false, false);
            }
            else
            {
                DungeonHero hero_item = m_DefenseTeamManager.GetNewObject <DungeonHero>(m_GridDefenseTeam.transform, Vector3.zero);
                hero_item.Init(m_DefenseTeam.Creatures[count - 1 - i].creature, false, false);
                DefenseList.Add(hero_item);
            }
        }
        for (int j = count; j < DefenseList.Count; ++j)
        {
            DefenseList[j].gameObject.SetActive(false);
        }
        m_GridDefenseTeam.Reposition();

        m_LabelDefensePower.text = Localization.Format("PowerValue", m_MyPvpInfo.team_power);
    }
Пример #5
0
    bool OnToggleCharacter(DungeonHero hero, bool bSelected)
    {
        if (m_MainLayout.DragContainer != null)
        {
            OnCharacterRelease(true);
        }

        if (bSelected == true)
        {
            if (m_CurrentTeam.ContainsIDN(hero.Creature.Info.IDN) == true)
            {
                Tooltip.Instance.ShowMessageKey("CreatureNotUseSame");
                return(false);
            }

            for (int i = 0; i < m_MainLayout.m_Characters.Length; ++i)
            {
                UICharacterContainer container = m_MainLayout.m_Characters[i];
                if (container.Character == null)
                {
                    for (int j = 0; j < i; ++j)
                    {
                        if (m_MainLayout.m_Characters[j].Character.Creature.Info.Position > hero.CreatureInfo.Position)
                        {
                            m_MainLayout.Reposition(i, j);
                            m_MainLayout.Batch(j);
                            break;
                        }
                    }
                    container.Init(AssetManager.GetCharacterAsset(hero.Creature.Info.ID, hero.Creature.SkinName), UICharacterContainer.Mode.UI_Normal, "social");
                    if (container.Character != null)
                    {
                        container.Character.Creature = hero.Creature;
                    }

                    m_MainLayout.UpdateBatch();
                    SaveTeamData();
                    UpdateCharacterInfo(true);
                    return(true);
                }
            }
            return(false);
        }
        else
        {
            UICharacterContainer container = Array.Find(m_MainLayout.m_Characters, c => c.IsInit == true && c.Character.Creature.Idx == hero.Creature.Idx);
            container.Uninit();
            m_MainLayout.Rebatch();

            if (m_CurrentTeam.LeaderCreatureIdx == hero.Creature.Idx)
            {
                OnChangedLeaderSkillChanged(null);
            }
            SaveTeamData();
            UpdateCharacterInfo(true);
        }
        return(true);
    }
Пример #6
0
    void Init(bool bBack, bool show_evolve)
    {
        m_Hero = DungeonHeroPrefabManager.GetNewObject <DungeonHero>(DungeonHeroPrefabManager.transform, Vector3.zero);

        m_SortInfo.Init(OnSorted);

        m_MixLevelLimit        = CreatureInfoManager.Instance.MixLevelLimit(m_Creature.Grade);
        m_MixBaseLevelLimit    = CreatureInfoManager.Instance.MixBaseLevelLimit(m_Creature.Grade);
        m_EvolveLevelLimit     = CreatureInfoManager.Instance.EvolveLevelLimit(m_Creature.Grade);
        m_EvolveBaseLevelLimit = CreatureInfoManager.Instance.EvolveBaseLevelLimit(m_Creature.Grade);

        if (bBack == true)
        {
            Creature enchant_creature = m_EnchantCreature;
            if (m_ToggleMix.value == true)
            {
                OnValueChanged(m_ToggleMix);
            }
            else
            {
                OnValueChanged(m_ToggleEvolve);
            }
            if (enchant_creature != null)
            {
                m_Heroes.Find(h => h.Creature == enchant_creature).m_toggle.value = true;
                m_EnchantMaterial.Init(enchant_creature, OnClickEnchantMaterial);
                m_EnchantCreature = enchant_creature;
                m_parms.AddParam("EnchantCreature", m_EnchantCreature);
            }
        }
        else
        {
            if (show_evolve)
            {
                m_ToggleEvolve.value = true;
                OnValueChanged(m_ToggleEvolve);
            }
            else
            {
                m_ToggleMix.value = true;
                OnValueChanged(m_ToggleEvolve);
            }
            //OnValueChanged(m_ToggleMix);
        }

        UpdateEventMark();
    }
Пример #7
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();
        }
    }
Пример #8
0
    public void Init(pd_WorldBossPlayerInfo player_info, TeamData team_data)
    {
        m_Profile.UpdateProfile(player_info.leader_creature, player_info.nickname, player_info.player_level);
        m_LeaderSkill.Init(team_data.LeaderCreature, team_data.UseLeaderSkillType);
        m_BG.SetSpriteActive(player_info.account_idx == SHSavedData.AccountIdx);

        m_LabelMessage.text = Localization.Format("WorldBossBestInBattle", player_info.score);
        m_LabelRank.text    = Localization.Format("PVPRank", player_info.rank);
        foreach (var hero in team_data.Creatures.Select(c => c.creature))
        {
            DungeonHero hero_item = m_HeroManager.GetNewObject <DungeonHero>(m_GridHeroes.transform, Vector3.zero);
            hero_item.Init(hero, false, false);
            hero_item.m_icon.flip = UIBasicSprite.Flip.Horizontally;
        }
        m_GridHeroes.Reposition();

        m_LabelTeamPower.text = Localization.Format("PowerValue", team_data.Power);
    }
Пример #9
0
 bool OnToggleCharacterInAdventure(DungeonHero hero, bool bSelected)
 {
     Tooltip.Instance.ShowMessageKey("CreatureInAdventure");
     return(false);
 }
Пример #10
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();
        }
    }
Пример #11
0
    void OverEnchantInit()
    {
        if (m_Hero == null)
        {
            m_Hero = EnchantHeroPrefabManager.GetNewObject <EnchantHero>(m_EnchantHeroIndicator.transform, Vector3.zero);
        }
        m_Hero.Init(m_Creature, null, null);

        EnchantHeroPrefabManager.Clear();
        DungeonHeroPrefabmanager.Clear();

        m_OverEnchantBase = EnchantHeroPrefabManager.GetNewObject <EnchantHero>(m_OverEnchanteHeroIndicator.transform, Vector3.zero);
        m_OverEnchantBase.Init(m_Creature);

        m_OverEnchantMaterial = EnchantHeroPrefabManager.GetNewObject <EnchantHero>(m_OverEnchantMaterialIndicator.transform, Vector3.zero);
        m_OverEnchantMaterial.InitDummy(null, m_Creature.Grade, 1, m_Creature.Enchant);

        m_OverEnchantResult = DungeonHeroPrefabmanager.GetNewObject <DungeonHero>(m_OverEnchantResultIndicator.transform, Vector3.zero);

        m_OverEnchantPrice.text = "0";

        heroItemPrefabManager.Clear();

        if (IsPossibleOverEnchant() == true && m_Creature.Enchant < 10)
        {
            m_Heroes = new List <EnchantHero>();
            var materials = m_SortInfo.GetFilteredCreatures(c => c.Idx != m_Creature.Idx).Where(c => c.Grade >= 6 && c.Enchant >= m_Creature.Enchant);

            if (materials.Count() > 0)
            {
                foreach (Creature creature in materials)
                {
                    if (creature.Grade == 0)
                    {
                        continue;
                    }

                    EnchantHero item = heroItemPrefabManager.GetNewObject <EnchantHero>(m_HeroGrid.transform, Vector3.zero);
                    item.Init(creature, OnToggleOverEnchantMaterials, null);

                    m_Heroes.Add(item);
                }

                for (int i = 0; i < 5; ++i)
                {
                    EnchantHero item = heroItemPrefabManager.GetNewObject <EnchantHero>(m_HeroGrid.transform, Vector3.zero);
                    item.Init(null);
                }

                m_HeroGrid.Reposition();
                m_HeroScroll.ResetPosition();

                RefreshInfo();

                m_HelpTitle.gameObject.SetActive(false);
                m_HelpDesc.gameObject.SetActive(false);
                m_OverEnchantResult.InitDummy(m_Creature.Info, m_Creature.Grade, m_Creature.Level, (short)(m_Creature.Enchant + 1), m_Creature.Info.ShowAttackType);

                return;
            }
            else
            {
                m_HelpTitle.gameObject.SetActive(true);
                m_HelpDesc.gameObject.SetActive(true);
                m_HelpTitle.text = Localization.Get("OverEnchant_NoMatarials");
                m_HelpDesc.text  = Localization.Get("Help_OverEnchant");
            }
        }
        else
        {
            m_HelpTitle.gameObject.SetActive(true);
            m_HelpDesc.gameObject.SetActive(true);
            m_HelpTitle.text = Localization.Get("OverEnchant_NotPrepare");
            m_HelpDesc.text  = Localization.Get("Help_OverEnchant");
        }
        if (m_Creature.Enchant >= 10)
        {
            m_OverEnchantResult.InitDummy(m_Creature.Info, m_Creature.Grade, m_Creature.Level, 10, m_Creature.Info.ShowAttackType);
        }
        else
        {
            m_OverEnchantResult.InitDummy(m_Creature.Info, m_Creature.Grade, m_Creature.Level, (short)(m_Creature.Enchant + 1), m_Creature.Info.ShowAttackType);
        }
    }