// 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>(); }
// 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(); } }