예제 #1
0
    public void Use()
    {
        if (canDash && !isPressed && playerMovement.direction != Vector2.zero)
        {
            playerMovement.ApplyTempExForce(playerMovement.direction.normalized * speed, duration);
            controller.AbilityStun(true);
            canDash = false;
            playerUI?.AbilityCooldown(timeout, controller.playerNr);
        }
        else if (!canDash)
        {
            controller.AbilityStun(false);
        }

        isPressed = true;
    }
예제 #2
0
    public void Use()
    {
        if (canAttack && !inAction && !pressed)
        {
            canAttack = false;
            inAction  = true;
            controller.AbilityStun(true, true);

            currentNuke       = Instantiate(nukePrefab, transform.position, origin.rotation);
            currentNuke.layer = nukeLayer;
            currentNuke.GetComponent <WeaponController_Nuke>().playerNr    = playerNr;
            currentNuke.GetComponent <WeaponController_Nuke>().playerLayer = gameObject.layer;
            currentNuke.transform.Find("Outline").GetComponent <SpriteRenderer>().color = controller.playerColor;
        }
        else if (inAction && currentNuke == null)
        {
            inAction = false;
            controller.AbilityStun(false);
            playerUI?.AbilityCooldown(timeout, playerNr);
        }
    }