public override void Init() { interactiveObjectTag = new InteractiveObjectTag { IsAi = true }; AIPatrollingState = new AIPatrollingState(); AIPatrollingState.isPatrolling = true; AIPatrolSystem = new AIPatrolSystem(this, this.AggressiveObjectInitializerData.AIPatrolSystemDefinition); SightObjectSystem = new SightObjectSystem(this, this.AggressiveObjectInitializerData.SightObjectSystemDefinition, new InteractiveObjectTagStruct { IsPlayer = 1 }, OnSightObjectSystemJustIntersected, OnSightObjectSystemIntersectedNothing, OnSightObjectSystemNoMoreIntersected); this.AIMoveToDestinationSystem = new AIMoveToDestinationSystem(this, this.AggressiveObjectInitializerData, this.OnAIDestinationReached); this.BaseObjectAnimatorPlayableSystem = new BaseObjectAnimatorPlayableSystem(this.AnimatorPlayable, this.AggressiveObjectInitializerData.LocomotionAnimation); }
public PatrollingStateManager(CoreInteractiveObject AssociatedInteractiveObject, AIPatrolGraphBuilder AIPatrolGraphBuilder, ISetAIAgentDestinationActionCallback ISetAIAgentDestinationActionCallback) { this.AIPatrolSystem = new AIPatrolSystem(AssociatedInteractiveObject, AIPatrolGraphBuilder, ISetAIAgentDestinationActionCallback.SetAIAgentDestinationAction_NoReturn, ISetAIAgentDestinationActionCallback.SetAIAgentSpeedAttenuationAction); }