// Use this for initialization void Start() { m_fleeBehaviour = GetComponent <Behaviour_Flee>(); //finds the component called Behaviour_Flee m_wanderBehaviour = GetComponent <Behaviour_Wander>(); // finds the component called Behavior_Wonder //get access to the player m_player = GameObject.FindGameObjectWithTag("Player").transform; m_fleeBehaviour.m_Target = m_player.gameObject; }
//-------------------------------------------------------------- // *** CONSTRUCTORS *** public override void Start() { // Get base character references base.Start(); // Get behaviour references _BehaviourWander = GetComponent <Behaviour_Wander>(); _BehaviourFlee = GetComponent <Behaviour_Flee>(); _BehaviourSeek = GetComponent <Behaviour_Seek>(); _LinearSeek = GetComponent <LinearGoToTarget>(); switch (_Type) { // MINOR VARIANT case CrystalType.Minor: { // Initialize _StartingHealth = AiManager._pInstance._CrystalMinorStartingHealth; _MovementSpeed = AiManager._pInstance._CrystalMinorMovementSpeed; _PickupType = AiManager._pInstance._CrystalMinorTagType; _MeshRenderer.material = AiManager._pInstance._CrystalMinorTypeMaterial; _SpawningTime = AiManager._pInstance._CrystalMinorSpawningTime; _EffectOnDeath = AiManager._pInstance._MinorOnDeathEffect; switch (AiManager._pInstance._CrystalMinorBehaviourType) { case AiManager.AiBehaviourType.Wander: { _BehaviourWander.enabled = true; break; } case AiManager.AiBehaviourType.Flee: { _BehaviourFlee.enabled = true; break; } case AiManager.AiBehaviourType.Seek: { _BehaviourSeek.enabled = true; break; } case AiManager.AiBehaviourType.Mixed: { break; } default: { break; } } break; } // MAJOR VARIANT case CrystalType.Major: { // Initialize _StartingHealth = AiManager._pInstance._CrystalMajorStartingHealth; _MovementSpeed = AiManager._pInstance._CrystalMajorMovementSpeed; _PickupType = AiManager._pInstance._CrystalMajorTagType; _MeshRenderer.material = AiManager._pInstance._CrystalMajorTypeMaterial; _SpawningTime = AiManager._pInstance._CrystalMajorSpawningTime; _EffectOnDeath = AiManager._pInstance._MajorOnDeathEffect; switch (AiManager._pInstance._CrystalMajorBehaviourType) { case AiManager.AiBehaviourType.Wander: { _BehaviourWander.enabled = true; break; } case AiManager.AiBehaviourType.Flee: { _BehaviourFlee.enabled = true; break; } case AiManager.AiBehaviourType.Seek: { _BehaviourSeek.enabled = true; break; } case AiManager.AiBehaviourType.Mixed: { break; } default: { break; } } break; } // CURSED VARIANT case CrystalType.Cursed: { // Initialize _StartingHealth = AiManager._pInstance._CrystalMajorStartingHealth; _MovementSpeed = AiManager._pInstance._CrystalMajorMovementSpeed; _PickupType = AiManager._pInstance._CrystalCursedTagType; _MeshRenderer.material = AiManager._pInstance._CrystalCursedTypeMaterial; _SpawningTime = AiManager._pInstance._CrystalCursedSpawningTime; _EffectOnDeath = AiManager._pInstance._CursedOnDeathEffect; switch (AiManager._pInstance._CrystalCursedBehaviourType) { case AiManager.AiBehaviourType.Wander: { _BehaviourWander.enabled = true; break; } case AiManager.AiBehaviourType.Flee: { _BehaviourFlee.enabled = true; break; } case AiManager.AiBehaviourType.Seek: { _BehaviourSeek.enabled = true; break; } case AiManager.AiBehaviourType.Mixed: { break; } default: { break; } } break; } default: { break; } } // Reset health now that starting health has been updated _Health = _StartingHealth; // Store the new material that has been applied to the character _OriginalMaterial = _MeshRenderer.material; }