public virtual IEnumerator attakAnimation() { useable = false; attaking = true; movementController.attaking = attaking; effectContainer.SetActive(true); weaponInterface.setValues(weapon.attakTime, weapon.cooldown, weapon.quantity, attaking, weapon.rotation, weapon.tooltip, weapon.damage); weaponInterface.WeaponUse(); animator.SetBool("attack", true); yield return(new WaitForSeconds(weapon.attakTime)); attaking = false; animator.SetBool("attack", false); movementController.attaking = attaking; StartCoroutine(EffectDisable()); yield return(new WaitForSeconds(weapon.cooldown - weapon.attakTime));; weaponInterface.setValues(weapon.attakTime, weapon.cooldown, weapon.quantity, attaking, weapon.rotation, weapon.tooltip, weapon.damage); useable = true; }
// Set the Correct Animation Controller for the current weapon public void Start() { attaking = false; player = GameObject.FindGameObjectWithTag("Player"); movementController = player.GetComponent <MovementController>(); animator = GetComponent <Animator>(); effectContainer = transform.GetChild(0).gameObject; //Set weappon Interface values weaponInterface = this.GetComponent <WeaponInterface>(); weaponInterface.defaultSprite = this.GetComponent <SpriteRenderer>().sprite; weaponInterface.setValues(weapon.attakTime, weapon.cooldown, weapon.quantity, attaking, weapon.rotation, weapon.tooltip, weapon.damage); weaponInterface.setWeaponManager(player.GetComponent <WeaponManager>()); //Weapon Specific Initialazation Initialize(); }