private void Update() { var input = _currentInput.GetInput(); _move?.Move(input); _attack?.Attack(input); _find?.FindTarget(input); }
private void CheckForNewTarget() { Debug.Log("Checking for new target"); targetFinder.FindTarget(); if (targetFinder.GetTarget() != null) { controller.SetState <AIPursuit>(); } }
public override void BeginState() { Debug.Log("Begun Pursuit State"); controller = this.GetComponent <AIController>(); objectID = controller.objectID; shipStats = GameManager.Instance.gameSettings.vesselStats.Where(x => x.type.Equals(controller.vesselSelection)).First(); dirChecker = new TargetDirectionCheck(); // Collect components for class weaponAim = this.GetComponent <IWeaponAim>(); weaponSystem = this.GetComponent <IWeaponSystem>(); targetFinder = this.GetComponent <ITargetFinder>(); weaponTargetSetter = this.GetComponent <ISetWeaponTarget>(); movementController = this.GetComponent <AIMovementController>(); targetFinder.FindTarget(); weaponTargetSetter.SetTarget(); }
private static LocalTargetInfo TryFindNewTarget_Copy(this Building_TurretGun b, Predicate <Thing> validator, ITargetFinder finder) { var targetScanFlags = TargetScanFlags.NeedThreat | TargetScanFlags.NeedAutoTargetable | TargetScanFlags.NeedNotUnderThickRoof; if (b.AttackVerb.IsIncendiary()) { targetScanFlags |= TargetScanFlags.NeedNonBurning; } LocalTargetInfo result; if (finder != null && finder.ShouldUse(b) && (result = finder.FindTarget(b, targetScanFlags, validator)) != null && result.IsValid) { return(result); } return((Thing)AttackTargetFinder.BestShootTargetFromCurrentPosition(b, targetScanFlags, validator)); }