/// <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; }
/// <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; }