/** * <summary>Creates a new instance of the 'Character: Face direction' Action, set to command an NPC to stop following anyone</summary> * <param name = "npcToMove">The NPC to stop following anyone</param> * <returns>The generated Action</returns> */ public static ActionCharFollow CreateNew_Stop(NPC npcToMove) { ActionCharFollow newAction = (ActionCharFollow)CreateInstance <ActionCharFollow>(); newAction.followType = FollowType.StopFollowing; newAction.npcToMove = npcToMove; return(newAction); }
/** * <summary>Creates a new instance of the 'Character: NPC follow' Action, set to command an NPC to follow a character</summary> * <param name = "npcToMove>The NPC to affect</param> * <param name = "characterToFollow">The character the NPC should follow</param> * <param name = "minimumDistance">The minimum distance the NPC should be from the NPC</param> * <param name = "maximumDistance">The maximum distance the NPC should be from the NPC</param> * <param name = "updateFrequency">How often the NPC should move towards the character they're following</param> * <param name = "randomisePosition">If True, then the NPC will move to some random point around the character they're following</param> * <param name = "faceCharacterWhenIdle">If True, then the NPC will face the character they're following whenever idle</param> * <returns>The generated Action</returns> */ public static ActionCharFollow CreateNew_Start(NPC npcToMove, AC.Char characterToFollow, float minimumDistance, float maximumDistance, float updateFrequency = 2f, bool randomisePosition = false, bool faceCharacterWhenIdle = false) { ActionCharFollow newAction = (ActionCharFollow)CreateInstance <ActionCharFollow>(); newAction.followType = FollowType.StartFollowing; newAction.npcToMove = npcToMove; newAction.charToFollow = characterToFollow; newAction.followDistance = minimumDistance; newAction.followDistanceMax = maximumDistance; newAction.updateFrequency = updateFrequency; newAction.randomDirection = randomisePosition; newAction.faceWhenIdle = faceCharacterWhenIdle; return(newAction); }