void CheckForFiring( ) { FireCounter += Time.deltaTime; if ((FireCounter >= FireTime) && (GetDistanceToTarget() < TriggerDistance)) { FireCounter = 0; if (MissileObject) { GameObject o; if (FireAtTarget) { Quaternion rel = Quaternion.LookRotation(Target.position - transform.position); o = Instantiate(MissileObject, this.transform.position + rel * Offset, rel) as GameObject; } else { o = Instantiate(MissileObject, this.transform.position + transform.rotation * Offset, this.transform.rotation) as GameObject; } if (o) { AI_Missile aim = o.GetComponent <AI_Missile>( ); aim.Owner = this; aim.Target = Target; if (aim) { aim.Fire(AttackForce); } } } } }
void FireMissile( ) { MissileOffset.x = -MissileOffset.x; GameObject go = Instantiate(Missile, transform.position + transform.rotation * MissileOffset, transform.rotation) as GameObject; AI_Missile miss = go.GetComponent <AI_Missile>() as AI_Missile; if (miss) { miss.Owner = this.GetComponent <AI_Agent>(); if (MissileExplosion) { miss.Explosion = MissileExplosion; } miss.Fire(12000); } }