Exemplo n.º 1
0
    protected void Shoot(GunIns gun)
    {
        Vector3 mousePositionInWorld = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        Vector3 mousePositionInScene = Vector3.Scale(mousePositionInWorld, forwardZero);
        Vector3 toMousePosition      = mousePositionInScene - transform.position;

        if (toMousePosition.x * transform.right.x < 0)
        {
            transform.right *= -1;
        }

        gun.Use(transform);
        myAni.SetTrigger("Shoot");
        isShootAnimPlaying = true;
        ////假如现有武器冷却完毕
        //if (currentWeapon.IsColdDown())
        //{
        //    //重新开始冷却计时!!!
        //    //timer = 0;

        //    //开火点对象显示开火火花
        //    firePoint.gameObject.SetActive(true);
        //    //播放射击动画
        //    myAni.SetTrigger("Shoot");
        //    //产生子弹

        //    Collider2D[] enemys = Physics2D.OverlapCircleAll(transform.position, 5f);
        //    for (int i = 0; i < enemys.Length; i++)
        //    {
        //        if (enemys[i].gameObject.tag == "enemy")
        //        {
        //            enemy = enemys[i].gameObject;
        //            break;
        //        }
        //    }


        //    if (enemy != null)
        //    {
        //        currentWeapon.Aim(enemy.transform.position);
        //        currentWeapon.Fire(firePoint);
        //    }
        //    else
        //    {
        //        Vector3 v = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        //        v = Vector3.Scale(v, Vector3.right + Vector3.up);
        //        currentWeapon.Aim(v);
        //        currentWeapon.Fire(firePoint);
        //    }
        //}
    }