public override void Update() { base.Update(); MuzzleController muzzleController = CommonComponents.EntityController as MuzzleController; if (!muzzleController || muzzleController.Target == null) { return; } if (!muzzleController.IsValidTarget(muzzleController.Target.transform.position)) { muzzleController.Target = null; EntityStateMachine.SetNextStateToMain(); } }
public override EntityController FindBestTarget(List <EntityController> targets) { MuzzleController muzzleController = CommonComponents.EntityController as MuzzleController; if (!muzzleController) { return(base.FindBestTarget(targets)); } else { foreach (EntityController target in targets) { if (!muzzleController.IsValidTarget(target.transform.position)) { continue; } return(target); } } return(null); }