public void Init(Creature owner, RefMob refMob, RefItem refItem, int level, int evolution) { base.Init(refMob, level, evolution); m_owner = owner; m_owner.AddFollower(this); CreatureType = m_owner.CreatureType; m_consumedSP = refItem.consumedSP; if (m_creatureProperty.MoveSpeed == 0f) { EnableNavMeshObstacleAvoidance(false); } Transformation(transform, evolution); switch(refMob.mobAI) { case MobAIType.Normal: m_ai = new MobAINormal(); break; case MobAIType.Rotation: m_ai = new MobAIRotation(); break; case MobAIType.FlyingAround: m_ai = new MobAIFlyingAround(); break; case MobAIType.ItemShuttle: m_ai = new MobAIItemShuttle(); break; case MobAIType.Pickup: m_ai = new MobAIPickup(); ((MobAIPickup)(m_ai)).SetOwner(m_owner); CreatureType = Type.Npc; gameObject.layer = 0; break; case MobAIType.Follow: m_ai = new MobAIFollow(); ((MobAIFollow)(m_ai)).SetOwner(m_owner); CreatureType = Type.ChampNpc; gameObject.layer = 0; StartCoroutine(DecSpEffect()); break; } m_ai.Init(this); }