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); }
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]; } } } } }