Пример #1
0
	// Use this for initialization
	void Awake () {


        //needs to check which gun!
        controller = this;
        mode = targetingMode.TargetingBoth;

        rightGun = transform.FindChild("PlayerModel").transform.FindChild("Torso").transform.FindChild("RightArm").transform;
        leftGun = transform.FindChild("PlayerModel").transform.FindChild("Torso").transform.FindChild("LeftArm").transform;
        torso = transform.FindChild("PlayerModel").transform.FindChild("Torso").transform;
        head = transform.FindChild("PlayerModel").transform.FindChild("Head").transform;

        rightBarrel = transform.FindChild("PlayerModel").transform.FindChild("Torso").transform.FindChild("RightArm").transform.FindChild("RightGun").transform.FindChild("RightBarrel").transform;
        leftBarrel = transform.FindChild("PlayerModel").transform.FindChild("Torso").transform.FindChild("LeftArm").transform.FindChild("LeftGun").transform.FindChild("LeftBarrel").transform;


        //using gat stats for testing
        leftFireTimer = DamageCalculator.calculator.gatBaseFireRate-(Upgrades.instance.gatLevel_fireRate*DamageCalculator.calculator.gatFireRateReductionPerLevel);
        rightFireTimer = DamageCalculator.calculator.gatBaseFireRate - (Upgrades.instance.gatLevel_fireRate * DamageCalculator.calculator.gatFireRateReductionPerLevel);

        audio = GetComponent<AudioSource>();
      
	}
Пример #2
0
	// Update is called once per frame
	void Update () 
    {
        if (autoTarget)
        {
            if (rightTarget == null)
            {
                AutoTargetRight();
            }
            if (leftTarget == null)
            {
                AutoTargetLeft();
            }
        }
       


        leftFireTimer -= Time.deltaTime;
        rightFireTimer -= Time.deltaTime;

     


        //debug keys
        if (Input.GetKeyDown("a"))
        {
            mode = targetingMode.TargetingLeft;
        }
        if (Input.GetKeyDown("d"))
        {
            mode = targetingMode.TargetingRight;
        }
        if (Input.GetKeyDown("s"))
        {
            mode = targetingMode.TargetingBoth;
        } 
       

        switch (mode)
        {
            case targetingMode.TargetingBoth:
                if(rightTarget!=null)
                rightGun.transform.LookAt(rightTarget.transform.position);
                if(leftTarget!=null)
                leftGun.transform.LookAt(leftTarget.transform.position);

                torso.transform.rotation = Quaternion.Euler(0, 180, 0);
                if(EnemyManager.manager.enemies.Count>0)
                head.transform.LookAt(EnemyManager.manager.ClosestEnemy(transform.position).transform.position);

                
                break;

            case targetingMode.TargetingLeft:
                if (leftTarget != null)
                {
                    rightGun.transform.LookAt(leftTarget.transform.position);
                    leftGun.transform.LookAt(leftTarget.transform.position);
                }
                torso.transform.rotation = Quaternion.Euler(0, -145, 0);
                if (EnemyManager.manager.LeftCount()>0)
                head.transform.LookAt(EnemyManager.manager.ClosestEnemyOnLeft(transform.position).transform.position);
                
                break;

            case targetingMode.TargetingRight:
                if (rightTarget != null)
                {
                    rightGun.transform.LookAt(rightTarget.transform.position);
                    leftGun.transform.LookAt(rightTarget.transform.position);
                }
                torso.transform.rotation = Quaternion.Euler(0, 145, 0);
                if (EnemyManager.manager.RightCount() > 0)
                head.transform.LookAt(EnemyManager.manager.ClosestEnemyOnRight(transform.position).transform.position);
                
                break;
        }
        if (rightFireTimer <= 0)
        {
            RightGunFire();
        }
        if (leftFireTimer <= 0)
        {
            LeftGunFire();
        }
	}