Exemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        if (r_controller.currentMode == 1 && hasHit == false)
        {
            float angle = Mathf.Atan2(rb.velocity.y, rb.velocity.x) * Mathf.Rad2Deg - 90;
            transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
        }

        if (GetComponent <Renderer>().isVisible == false)
        {
            GetComponent <Rigidbody2D>().velocity = Vector2.zero;
            r_controller.resetThrowingVars();
        }
        lastVel = GetComponent <Rigidbody2D>().velocity;
    }
Exemplo n.º 2
0
    // Update is called once per frame
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Player")
        {
            if (switchCompleted == true)
            {
                //manager.setCameraBounds();
                if (manager.GetSceneNumber() == RegionNumbers[0])
                {
                    manager.setCameraBounds(RegionNumbers[1]);
                }
                else
                {
                    manager.setCameraBounds(RegionNumbers[0]);
                }
                GameObject.Find("SceneTransitionSprite").GetComponent <SpriteRenderer>().enabled = true;
                GameObject.Find("SceneTransitionSprite").GetComponent <Animator>().enabled       = true;
                GameObject.Find("SceneTransitionSprite").GetComponent <Animator>().Play("Transition", -1, 0f);
                switchCompleted = false;
            }
            r_Controller.resetThrowingVars();
        }

        if (other.tag == "Projectile")
        {
            if (manager.GetSceneNumber() == RegionNumbers[0])
            {
                r_Controller.TeleportAndSwitchRegion(RegionNumbers[1]);
            }
            else
            {
                r_Controller.TeleportAndSwitchRegion(RegionNumbers[0]);
            }
        }
    }
Exemplo n.º 3
0
 private void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.CompareTag("RegionCameraSwitcher"))
     {
         r_AttackController.resetThrowingVars();
         ScenePartLoader loader = GameObject.Find(manager.GetSceneName()).GetComponent <ScenePartLoader>();
     }
     if (collision.gameObject.CompareTag("Enemy"))
     {
         isTouchedEnemy = true;
     }
 }
Exemplo n.º 4
0
    private void MeleeAttack()
    {
        if (canAttack && !r_AttackController.isBeganThrowing)
        {
            if (bossIsReady && Physics2D.OverlapCircle(attackPoint.position, attackRadius, whatIsDamageable))
            {
                int selected = values[Random.Range(0, values.Length)];
                if (selected == 1)
                {
                    FindObjectOfType <WizardBoss>().AttemptToDash();
                }
            }
            r_AttackController.resetThrowingVars();

            if (controller.IsPlayerGrounded())
            {
                rb.velocity = Vector2.zero;
                controller.movementSpeed = 0;
                isAttacking = true;
                if (isUpAttackReady)
                {
                    isUpAttacking = true;
                }
            }
            else
            {
                isAttackingInAir = true;
                //controller.usedUpJump();
            }

            r_AttackController.canThrow = false;
            attackingCoolDown           = attackRate;
            attackComboTimer            = attackComboTimerSet;
            canAttack        = false;
            comboAttackBegin = true;
            attackDamage     = baseDamage + 10 * (attackComboCount % 3);
            attackComboCount++;

            FindObjectOfType <AudioManager>().Play("Attack");
        }
    }