/// <summary>
    /// Initializes the character script; called from controller
    /// </summary>
    /// <param name="targetTag">the tag of the targeted objects</param>
    /// <param name="energyChanged">the handler for when the energy changes</param>
    /// <param name="healthBar">the health bar</param>
    /// <param name="timerBars">the array of timer bars</param>
    /// <param name="healthMult">the health multiplier</param>
    public override void Initialize(string targetTag, EnergyChangedHandler energyChanged, Image healthBar, Image[] timerBars, float healthMult = 1)
    {
        // Sets fields
        maxHealth = Constants.RANGER_HEALTH;
        moveSpeed = Constants.RANGER_MOVE_SPEED;
        jumpSpeed = Constants.RANGER_JUMP_SPEED;
        maxEnergy = Constants.RANGER_ENERGY;
        gCDTimer = new Timer(Constants.RANGER_GCD);
        pierceShootWindow = new Timer(Constants.PIERCE_SHOOT_WINDOW);
        pierceShootCD = new Timer(Constants.PIERCE_SHOOT_CD);
        powerCDTimer = new Timer(Constants.PIERCE_ABILITY_CD);
        boostTimer = new Timer(Constants.RANGER_BOOST_TIME);
        specialCDTimer = new Timer(Constants.RANGER_BOOST_CD);
        secondaryCDTimer = new Timer(Constants.EXP_ARROW_CD);
        boostTimer.Register(BoostTimerFinished);
        pierceShootWindow.Register(PierceWindowFinished);

        // Loads sounds
        mainAbilitySound = GameManager.Instance.GameSounds[Constants.RANGER_SHOOT_SND];
        secondaryAbilitySound = mainAbilitySound;
        powerAbilitySound = mainAbilitySound;
        specialAbilitySound = GameManager.Instance.GameSounds[Constants.RANGER_BOOST_SND];
        if (timerBars != null)
        {
            pierceBar = timerBars[0];
            boostBar = timerBars[1];
        }
        base.Initialize(targetTag, energyChanged, healthBar, timerBars, healthMult);
        Energy = maxEnergy;
    }
    /// <summary>
    /// Initializes the character script; called from controller
    /// </summary>
    /// <param name="targetTag">the tag of the targeted objects</param>
    /// <param name="energyChanged">the handler for when the energy changes</param>
    /// <param name="healthBar">the health bar</param>
    /// <param name="timerBars">the array of timer bars</param>
    /// <param name="healthMult">the health multiplier</param>
    public override void Initialize(string targetTag, EnergyChangedHandler energyChanged, Image healthBar, Image[] timerBars, float healthMult = 1)
    {
        // Sets fields
        maxHealth = Constants.MAGE_HEALTH;
        moveSpeed = Constants.MAGE_MOVE_SPEED;
        jumpSpeed = Constants.MAGE_JUMP_SPEED;
        maxEnergy = Constants.MAGE_ENERGY;
        gCDTimer = new Timer(Constants.MAGE_GCD);
        secondaryCDTimer = new Timer(Constants.LIGHTNING_CD);
        powerCDTimer = new Timer(Constants.METEOR_CD);
        specialCDTimer = new Timer(Constants.DRAIN_CD);
        lightningTimer = new Timer(Constants.LIGHTNING_CAST_TIME);
        lightningTimer.Register(LightningTimerFinished);
        beams = new List<SpriteRenderer>();
        drainTimer = new Timer(Constants.DRAIN_TIME);
        drainTimer.Register(DrainTimerFinished);
        drainTargets = new List<DamagableObjectScript>();
        beamColors = new Dictionary<Color, Color>();
        beamColors.Add(Constants.BEAM_COLOR_1, Constants.BEAM_COLOR_2);
        beamColors.Add(Constants.BEAM_COLOR_2, Constants.BEAM_COLOR_1);

        // Loads sounds
        mainAbilitySound = GameManager.Instance.GameSounds[Constants.ICE_CAST_SND];
        secondaryAbilitySound = GameManager.Instance.GameSounds[Constants.LIGHTNING_CAST_SND];
        powerAbilitySound = GameManager.Instance.GameSounds[Constants.METEOR_CAST_SND];
        specialAbilitySound = GameManager.Instance.GameSounds[Constants.DRAIN_SND];
        base.Initialize(targetTag, energyChanged, healthBar, timerBars, healthMult);
        Energy = maxEnergy;
    }
Exemplo n.º 3
0
 /// <summary>
 /// Establece el handler receptor de los eventos de cambio de energia de la red
 /// </summary>
 /// <param name="energyHandler">Handler</param>
 public void SetEnergyHandler(EnergyChangedHandler energyHandler)
 {
     hopfieldNN.EnergyChanged += new EnergyChangedHandler(energyHandler);
 }
 /// <summary>
 /// Initializes the character script; called from controller
 /// </summary>
 /// <param name="targetTag">the tag of the targeted objects</param>
 /// <param name="energyChanged">the handler for when the energy changes</param>
 /// <param name="healthBar">the health bar</param>
 /// <param name="timerBars">the array of timer bars</param>
 /// <param name="healthMult">the health multiplier</param>
 public virtual void Initialize(string targetTag, EnergyChangedHandler energyChanged, Image healthBar, Image[] timerBars, float healthMult = 1)
 {
     maxHealth *= healthMult;
     this.energyChanged = energyChanged;
     this.targetTag = targetTag;
     if (healthBar != null)
     { this.healthBar = healthBar; }
     rbody = GetComponent<Rigidbody2D>();
     animator = GetComponent<Animator>();
     baseScale = transform.localScale;
     flippedScale = new Vector3(-baseScale.x, baseScale.y, baseScale.z);
     walkAudio.clip = GameManager.Instance.GameSounds[Constants.CHAR_WALK_SND];
     hitSound = GameManager.Instance.GameSounds[Constants.CHAR_HIT_SND];
     deathSound = GameManager.Instance.GameSounds[Constants.CHAR_DEATH_SND];
     jumpSound = GameManager.Instance.GameSounds[Constants.CHAR_JUMP_SND];
     landSound = GameManager.Instance.GameSounds[Constants.CHAR_LAND_SND];
     base.Initialize();
 }
    /// <summary>
    /// Initializes the character script; called from controller
    /// </summary>
    /// <param name="targetTag">the tag of the targeted objects</param>
    /// <param name="energyChanged">the handler for when the energy changes</param>
    /// <param name="healthBar">the health bar</param>
    /// <param name="timerBars">the array of timer bars</param>
    /// <param name="healthMult">the health multiplier</param>
    public override void Initialize(string targetTag, EnergyChangedHandler energyChanged, Image healthBar, Image[] timerBars, float healthMult = 1)
    {
        // Sets fields
        maxHealth = Constants.WARRIOR_HEALTH;
        moveSpeed = Constants.WARRIOR_MOVE_SPEED;
        jumpSpeed = Constants.WARRIOR_JUMP_SPEED;
        maxEnergy = Constants.WARRIOR_ENERGY;
        gCDTimer = new Timer(Constants.WARRIOR_GCD);
        secondaryCDTimer = new Timer(Constants.LIGHTNING_CD);
        powerCDTimer = new Timer(Constants.LEAP_CD);
        specialCDTimer = new Timer(Constants.WARRIOR_BOOST_CD);
        boostTimer = new Timer(Constants.WARRIOR_BOOST_TIME);
        boostTimer.Register(BoostTimerFinished);
        swordTransform = sword.transform;
        swordScript = sword.GetComponent<SwordScript>();
        swordScript.Initialize(Constants.SLASH_DAMAGE, targetTag, SlashDamageHandler);
        swordCollider = sword.GetComponent<Collider2D>();
        swordCollider.enabled = false;

        // Loads sounds
        mainAbilitySound = GameManager.Instance.GameSounds[Constants.ICE_CAST_SND];
        secondaryAbilitySound = GameManager.Instance.GameSounds[Constants.RANGER_SHOOT_SND];
        powerAbilitySound = GameManager.Instance.GameSounds[Constants.LEAP_SND];
        specialAbilitySound = GameManager.Instance.GameSounds[Constants.WARRIOR_BOOST_SND];
        if (timerBars != null)
        { boostBar = timerBars[0]; }
        base.Initialize(targetTag, energyChanged, healthBar, timerBars, healthMult);
        Energy = 0;
    }