public void HandleWeapon()
    {
        if (pAU.CanUpdateAnimation()) //Not rolling or melee
        {
            if (!AC.isAbilityInUse()) //Not casting
            {
                EquipUnequip();
                SwitchWeapon();

                if (weaponEquipped)
                {
                    Reload();
                    Attack();
                    EndAttack();
                }
            }
        }

        if (lateStart)
        {
            Transform temp = transform.FindDeepChild("RightHand");
            if (temp != null)
            {
                itemParent = temp.gameObject;
                UpdateHUDWeapon();
                lateStart = false;
            }
        }
    }
 // TODO: Handle Input through InputManager and not direct key references
 public void HandleAbilities(float time_dia)
 {
     if (!abilityInUse && playerAnim.CanUpdateAnimation()) //Not rolling
     {
         if (Input.GetKeyDown(KeyCode.Alpha1) && abilities[0])
         {
             abilities[0].AttemptAttack();
         }
         else if (Input.GetKeyDown(KeyCode.Alpha2) && abilities[1])
         {
             abilities[1].AttemptAttack();
         }
         else if (Input.GetKeyDown(KeyCode.Alpha3) && abilities[2])
         {
             abilities[2].AttemptAttack();
         }
         else if (Input.GetKeyDown(KeyCode.Alpha4) && abilities[3])
         {
             abilities[3].AttemptAttack();
         }
     }
 }