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();
            }
        }
Beispiel #2
0
        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);
        }