Ejemplo n.º 1
0
Archivo: Sword.cs Proyecto: ohy99/SP4
    // Attack with weapon
    public override GameObject Attack(Vector3 pos, Quaternion rotation)
    {
        if (fireRate < timer)
        {
            timer = 0;
            meleeCollider.transform.localScale = new Vector3(1.0f, 1.0f, 1.0f);
            // Spawn a aabb here if collision occur damage is done
            GameObject go = Instantiate(meleeCollider, pos, rotation);
            go.SetActive(true);
            SoundManager.Instance.PlayOneShot(shootEffect);
            MeleeCollider meleeScript = go.GetComponent <MeleeCollider>();
            if (meleeScript)
            {
                meleeScript.SetDamage(damage);
            }


            //Debug.Log(pos);
            //meleeCollider.GetComponent<BoxCollider2D>().offset = new Vector2(0, range);
            //meleeCollider.GetComponent<BoxCollider2D>().size = new Vector2(1, 1.5f);
            //meleeCollider.transform.localScale = new Vector3(0.5f, range, 1);
            isAttack = true;
            return(go);
        }

        return(null);
    }
Ejemplo n.º 2
0
    void ReadInputs()
    {
        if (input.meleeAttackInput && !isMeleeAttack && isGrounded && playerStats.HasStamina(meleeCost))
        {
            isMeleeAttack = true;
            playerStats.RecieveStamina(meleeCost);
        }

        if (isMeleeAttack)
        {
            meleeCollScript.SetDamage(meleeDamage);
        }
        else
        {
            meleeCollScript.SetDamage(0);
        }

        if (input.runInput && playerStats.HasStamina(runCost + 5))
        {
            isRunning = true;
        }
        else
        {
            isRunning = false;
        }

        if (input.dodgeInput && !isDodge && isGrounded && !isMeleeAttack)
        {
            if (playerStats.HasStamina(dodgeCost))
            {
                isDodge = true;
                playerStats.RecieveStamina(dodgeCost);
                anim.SetTrigger("Dodge");
            }
        }

        if (input.camModeInput)
        {
            lockTarget = !lockTarget;
        }

        camForward = Vector3.Scale(cam.forward, new Vector3(1, 0, 1)).normalized;
        camSide    = Vector3.Scale(cam.right, new Vector3(1, 0, 1)).normalized;
        move       = input.vertical * camForward + input.horizontal * cam.right;

        godMode = input.godMode;
    }