Exemplo n.º 1
0
    // 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;
    }
Exemplo n.º 2
0
    //--------------------------------------------------------------
    // *** 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;
    }