Пример #1
0
    private void ModelWasLoadedForActiveMonster(PrefabManager.AssetPathInfo assetInfo, PrefabManager.PrefabInfo info)
    {
        PrefabManager.PrefabInfoWithComponentAdd <HeroAnimation> ha = info as PrefabManager.PrefabInfoWithComponentAdd <HeroAnimation>;
        ha.m_Component.Init(this);

        ActiveMonster am = info.m_Owner as ActiveMonster;

        am.ModelWasLoaded(ha);
    }
Пример #2
0
    private void Init()
    {
        m_NormalAbilities   = new AttackLogic[(int)AttackLogic.AttackType.Count];
        m_AwakenedAbilities = new AttackLogic[(int)AttackLogic.AttackType.Count];

        m_AssetInfo         = new PrefabManager.AssetPathInfo(m_Params.Params.AssetFolder, m_Params.Params.AssetName);
        m_AssetInfo.m_Scale = m_Params.Params.m_Scale;
        var attacks = m_Params.Params.Attacks;

        if (attacks != null)
        {
            m_AllAttacks = new List <AttackLogic>(attacks.Length);

            for (int i = 0; i < attacks.Length; i++)
            {
                AttackLogic al = MonstersManager.GetAttackLogc(attacks[i]);
                if (al == null)
                {
                    Debug.LogError("Attack wasn't found " + attacks[i] + " for mob " + m_Params.Params.Name);
                }
                else
                {
                    m_AllAttacks.Add(al);
                }
            }

            for (int i = 0; i < m_AllAttacks.Count; i++)
            {
                if (!m_AllAttacks[i].m_AwakenedAbility)
                {
                    if (m_AllAttacks[i].m_AttackType == AttackLogic.AttackType.Passive)
                    {
                        if (m_PassiveAbilities == null)
                        {
                            m_PassiveAbilities = new List <AttackLogic>();
                        }
                        if (m_PassiveAwakenAbilities == null)
                        {
                            m_PassiveAwakenAbilities = new List <AttackLogic>();
                        }
                        m_PassiveAbilities.Add(m_AllAttacks[i]);
                        m_PassiveAwakenAbilities.Add(m_AllAttacks[i]);
                    }
                    else
                    {
                        m_AwakenedAbilities[(int)m_AllAttacks[i].m_AttackType] = m_NormalAbilities[(int)m_AllAttacks[i].m_AttackType] = m_AllAttacks[i];
                    }
                }
            }

            for (int i = 0; i < m_AllAttacks.Count; i++)
            {
                if (m_AllAttacks[i].m_AwakenedAbility)
                {
                    if (m_AllAttacks[i].m_AttackType == AttackLogic.AttackType.Passive)
                    {
                        if (m_PassiveAwakenAbilities == null)
                        {
                            m_PassiveAwakenAbilities = new List <AttackLogic>();
                        }
                        m_PassiveAwakenAbilities.Add(m_AllAttacks[i]);
                    }
                    else
                    {
                        m_AwakenedAbilities[(int)m_AllAttacks[i].m_AttackType] = m_AllAttacks[i];
                    }
                }
            }
        }
    }