示例#1
0
    void Update()
    {
        if (animator && Camera.main)
        {
            if (transform.tag == "Player")
            {
                JoystickToEvents.Do(transform, Camera.main.transform, ref speed, ref direction);
                locomotion.Do(speed * 6, direction * 180);

                if (Input.GetButtonDown("Fire1"))
                {
                    movement.canMove = false;
                    aimShadow.SetActive(true);
                }
                if (Input.GetButtonUp("Fire1") && canCastAbility1)
                {
                    canShoot = false;
                    locomotion.Attack(1);

                    StartCoroutine(WaitToUseAbility(ability1WaitTime, ability1));
                    StartCoroutine(CancelAnim(1, cancelAnimAt1));
                    //  StartCoroutine(ShootArrow());
                    StartCoroutine(AbilityCooldown(ability1Cooldown, 1));
                }

                if (Input.GetButtonDown("Fire2") && canCastAbility3)
                {
                    locomotion.Attack(3);

                    if (ability3 != null)
                    {
                        StartCoroutine(WaitToUseAbility(ability3WaitTime, ability3));
                        movement.canMove = false;
                        StartCoroutine(AbilityLifeTime(abilityLifetime3, ability3));
                        StartCoroutine(AbilityCooldown(ability1Cooldown, 3));
                    }

                    StartCoroutine(CancelAnim(3, cancelAnimAt3));
                }

                if (Input.GetButtonDown("Fire3"))
                {
                    movement.canMove = false;
                    aimShadow.SetActive(true);
                }
                if (Input.GetButtonUp("Fire3") && canCastAbility2)
                {
                    canShoot = false;
                    locomotion.Attack(1);

                    StartCoroutine(WaitToUseAbility(ability2WaitTime, ability2));
                    StartCoroutine(CancelAnim(1, cancelAnimAt1));
                    //StartCoroutine(ShootArrow());
                    StartCoroutine(AbilityCooldown(ability1Cooldown, 2));
                }
            }
        }
    }