TopDown Engine
v3.6
|
Add this class to a 3D character and it'll be able to navigate a navmesh (if there's one in the scene of course) More...
Public Types | |
enum | PathRefreshModes { PathRefreshModes.None, PathRefreshModes.TimeBased, PathRefreshModes.SpeedThresholdBased } |
Public Member Functions | |
virtual void | InvokeOnPathProgress (int waypointIndex, int waypointsLength, float distance) |
virtual void | SetNewDestination (Transform destinationTransform) |
Sets a new destination the character will pathfind to More... | |
override void | ProcessAbility () |
On Update, we draw the path if needed, determine the next waypoint, and move to it if needed More... | |
Public Member Functions inherited from MoreMountains.TopDownEngine.CharacterAbility | |
delegate void | AbilityEvent () |
virtual string | HelpBoxText () |
This method is only used to display a helpbox text at the beginning of the ability's inspector. More... | |
virtual void | ForceInitialization () |
Call this any time you want to force this ability to initialize (again) More... | |
virtual void | ResetInput () |
Resets all input for this ability. Can be overridden for ability specific directives More... | |
virtual void | EarlyProcessAbility () |
The first of the 3 passes you can have in your ability. Think of it as EarlyUpdate() if it existed More... | |
virtual void | LateProcessAbility () |
The last of the 3 passes you can have in your ability. Think of it as LateUpdate() More... | |
virtual void | UpdateAnimator () |
Override this to send parameters to the character's animator. This is called once per cycle, by the Character class, after Early, normal and Late process(). More... | |
virtual void | PermitAbility (bool abilityPermitted) |
Changes the status of the ability's permission More... | |
virtual void | Flip () |
Override this to specify what should happen in this ability when the character flips More... | |
virtual void | ResetAbility () |
Override this to reset this ability's parameters. It'll be automatically called when the character gets killed, in anticipation for its respawn. More... | |
virtual void | SetInputManager (InputManager newInputManager) |
Changes the reference to the input manager with the one set in parameters More... | |
virtual void | PlayAbilityStartSfx () |
Plays the ability start sound effect More... | |
virtual void | PlayAbilityUsedSfx () |
Plays the ability used sound effect More... | |
virtual void | StopAbilityUsedSfx () |
Stops the ability used sound effect More... | |
virtual void | PlayAbilityStopSfx () |
Plays the ability stop sound effect More... | |
virtual void | PlayAbilityStartFeedbacks () |
Plays the ability start sound effect More... | |
virtual void | StopStartFeedbacks () |
Stops the ability used sound effect More... | |
virtual void | PlayAbilityStopFeedbacks () |
Plays the ability stop sound effect More... | |
Public Attributes | |
Transform | Target |
the target the character should pathfind to More... | |
int | AreaMask = ~0 |
specifies which area mask is passable by this agent More... | |
float | DistanceToWaypointThreshold = 1f |
the distance to waypoint at which the movement is considered complete More... | |
float | ClosestPointThreshold = 3f |
if the target point can't be reached, the distance threshold around that point in which to look for an alternative end point More... | |
float | MinimumDelayBeforePollingNavmesh = 0.1f |
a minimum delay (in seconds) between two navmesh requests - longer delay means better performance but less accuracy More... | |
PathRefreshModes | PathRefreshMode = PathRefreshModes.None |
float | RefreshSpeedThreshold = 1f |
the speed under which the path should be recomputed, usually if the character blocks against an obstacle More... | |
float | RefreshInterval = 2f |
the interval at which to refresh the path, in seconds More... | |
bool | DebugDrawPath |
whether or not we should draw a debug line to show the current path of the character More... | |
NavMeshPath | AgentPath |
the current path More... | |
Vector3[] | Waypoints |
a list of waypoints the character will go through More... | |
int | NextWaypointIndex |
the index of the next waypoint More... | |
Vector3 | NextWaypointDirection |
the direction of the next waypoint More... | |
float | DistanceToNextWaypoint |
the distance to the next waypoint More... | |
Public Attributes inherited from MoreMountains.TopDownEngine.CharacterAbility | |
AudioClip | AbilityStartSfx |
the sound fx to play when the ability starts More... | |
AudioClip | AbilityInProgressSfx |
the sound fx to play while the ability is running More... | |
AudioClip | AbilityStopSfx |
the sound fx to play when the ability stops More... | |
MMFeedbacks | AbilityStartFeedbacks |
the feedbacks to play when the ability starts More... | |
MMFeedbacks | AbilityStopFeedbacks |
the feedbacks to play when the ability stops More... | |
bool | AbilityPermitted = true |
if true, this ability can perform as usual, if not, it'll be ignored. You can use this to unlock abilities over time for example More... | |
CharacterStates.MovementStates[] | BlockingMovementStates |
an array containing all the blocking movement states. If the Character is in one of these states and tries to trigger this ability, it won't be permitted. Useful to prevent this ability from being used while Idle or Swimming, for example. More... | |
CharacterStates.CharacterConditions[] | BlockingConditionStates |
an array containing all the blocking condition states. If the Character is in one of these states and tries to trigger this ability, it won't be permitted. Useful to prevent this ability from being used while dead, for example. More... | |
Weapon.WeaponStates[] | BlockingWeaponStates |
an array containing all the blocking weapon states. If one of the character's weapons is in one of these states and yet the character tries to trigger this ability, it won't be permitted. Useful to prevent this ability from being used while attacking, for example. More... | |
AbilityEvent | OnAbilityStart |
AbilityEvent | OnAbilityStop |
Protected Member Functions | |
override void | Initialization () |
Gets and stores components for further use More... | |
virtual void | MoveController () |
Moves the controller towards the next point More... | |
virtual void | PerformRefresh () |
virtual void | DeterminePath (Vector3 startingPosition, Vector3 targetPosition, bool ignoreDelay=false) |
Determines the next path position for the agent. NextPosition will be zero if a path couldn't be found More... | |
virtual void | DetermineNextWaypoint () |
Determines the next waypoint based on the distance to it More... | |
virtual void | DetermineDistanceToNextWaypoint () |
Determines the distance to the next waypoint More... | |
virtual void | DrawDebugPath () |
Draws a debug line to show the current path More... | |
Protected Member Functions inherited from MoreMountains.TopDownEngine.CharacterAbility | |
virtual void | Awake () |
On awake we proceed to pre initializing our ability More... | |
virtual void | Start () |
On Start(), we call the ability's intialization More... | |
virtual void | PreInitialization () |
A method you can override to have an initialization before the actual initialization More... | |
virtual void | BindAnimator () |
Binds the animator from the character and initializes the animator parameters More... | |
virtual void | InitializeAnimatorParameters () |
Adds required animator parameters to the animator parameters list if they exist More... | |
virtual void | InternalHandleInput () |
Internal method to check if an input manager is present or not More... | |
virtual void | HandleInput () |
Called at the very start of the ability's cycle, and intended to be overridden, looks for input and calls methods if conditions are met More... | |
virtual void | RegisterAnimatorParameter (string parameterName, AnimatorControllerParameterType parameterType, out int parameter) |
Registers a new animator parameter to the list More... | |
virtual void | OnRespawn () |
Override this to describe what should happen to this ability when the character respawns More... | |
virtual void | OnDeath () |
Override this to describe what should happen to this ability when the character respawns More... | |
virtual void | OnHit () |
Override this to describe what should happen to this ability when the character takes a hit More... | |
virtual void | OnEnable () |
On enable, we bind our respawn delegate More... | |
virtual void | OnDisable () |
On disable, we unbind our respawn delegate More... | |
Protected Attributes | |
int | _waypoints |
Vector3 | _direction |
Vector2 | _newMovement |
Vector3 | _lastValidTargetPosition |
Vector3 | _closestStartNavmeshPosition |
Vector3 | _closestTargetNavmeshPosition |
NavMeshHit | _navMeshHit |
bool | _pathFound |
float | _lastRequestAt = -Single.MaxValue |
Protected Attributes inherited from MoreMountains.TopDownEngine.CharacterAbility | |
Character | _character |
TopDownController | _controller |
TopDownController2D | _controller2D |
TopDownController3D | _controller3D |
GameObject | _model |
Health | _health |
CharacterMovement | _characterMovement |
InputManager | _inputManager |
Animator | _animator = null |
CharacterStates | _state |
SpriteRenderer | _spriteRenderer |
MMStateMachine< CharacterStates.MovementStates > | _movement |
MMStateMachine< CharacterStates.CharacterConditions > | _condition |
AudioSource | _abilityInProgressSfx |
bool | _abilityInitialized = false |
float | _verticalInput |
float | _horizontalInput |
bool | _startFeedbackIsPlaying = false |
List< CharacterHandleWeapon > | _handleWeaponList |
Events | |
System.Action< int, int, float > | OnPathProgress |
Additional Inherited Members | |
Properties inherited from MoreMountains.TopDownEngine.CharacterAbility | |
virtual bool | AbilityAuthorized [get] |
virtual bool | AbilityInitialized [get] |
whether or not this ability has been initialized More... | |
Add this class to a 3D character and it'll be able to navigate a navmesh (if there's one in the scene of course)
|
protectedvirtual |
Determines the distance to the next waypoint
|
protectedvirtual |
Determines the next waypoint based on the distance to it
|
protectedvirtual |
Determines the next path position for the agent. NextPosition will be zero if a path couldn't be found
startingPos | |
targetPos |
|
protectedvirtual |
Draws a debug line to show the current path
|
protectedvirtual |
Gets and stores components for further use
Reimplemented from MoreMountains.TopDownEngine.CharacterAbility.
|
virtual |
|
protectedvirtual |
Moves the controller towards the next point
|
protectedvirtual |
|
virtual |
On Update, we draw the path if needed, determine the next waypoint, and move to it if needed
Reimplemented from MoreMountains.TopDownEngine.CharacterAbility.
|
virtual |
Sets a new destination the character will pathfind to
destinationTransform |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
NavMeshPath MoreMountains.TopDownEngine.CharacterPathfinder3D.AgentPath |
the current path
int MoreMountains.TopDownEngine.CharacterPathfinder3D.AreaMask = ~0 |
specifies which area mask is passable by this agent
float MoreMountains.TopDownEngine.CharacterPathfinder3D.ClosestPointThreshold = 3f |
if the target point can't be reached, the distance threshold around that point in which to look for an alternative end point
bool MoreMountains.TopDownEngine.CharacterPathfinder3D.DebugDrawPath |
whether or not we should draw a debug line to show the current path of the character
float MoreMountains.TopDownEngine.CharacterPathfinder3D.DistanceToNextWaypoint |
the distance to the next waypoint
float MoreMountains.TopDownEngine.CharacterPathfinder3D.DistanceToWaypointThreshold = 1f |
the distance to waypoint at which the movement is considered complete
float MoreMountains.TopDownEngine.CharacterPathfinder3D.MinimumDelayBeforePollingNavmesh = 0.1f |
a minimum delay (in seconds) between two navmesh requests - longer delay means better performance but less accuracy
Vector3 MoreMountains.TopDownEngine.CharacterPathfinder3D.NextWaypointDirection |
the direction of the next waypoint
int MoreMountains.TopDownEngine.CharacterPathfinder3D.NextWaypointIndex |
the index of the next waypoint
PathRefreshModes MoreMountains.TopDownEngine.CharacterPathfinder3D.PathRefreshMode = PathRefreshModes.None |
the chosen mode in which to refresh the path (none : nothing will happen and path will only refresh on set new destination, time based : path will refresh every x seconds, speed threshold based : path will refresh every x seconds if the character's speed is below a certain threshold
float MoreMountains.TopDownEngine.CharacterPathfinder3D.RefreshInterval = 2f |
the interval at which to refresh the path, in seconds
float MoreMountains.TopDownEngine.CharacterPathfinder3D.RefreshSpeedThreshold = 1f |
the speed under which the path should be recomputed, usually if the character blocks against an obstacle
Transform MoreMountains.TopDownEngine.CharacterPathfinder3D.Target |
the target the character should pathfind to
Vector3 [] MoreMountains.TopDownEngine.CharacterPathfinder3D.Waypoints |
a list of waypoints the character will go through
System.Action<int, int, float> MoreMountains.TopDownEngine.CharacterPathfinder3D.OnPathProgress |