TopDown Engine v4.5
Loading...
Searching...
No Matches
MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D Class Reference

This Decision will return true if any object on its TargetLayer layermask enters its line of sight. It will also set the Brain's Target to that object. You can choose to have it in ray mode, in which case its line of sight will be an actual line (a raycast), or have it be wider (in which case it'll use a spherecast). You can also specify an offset for the ray's origin, and an obstacle layer mask that will block it. More...

Inheritance diagram for MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D:
MoreMountains.Tools.AIDecision

Public Types

enum  DetectMethods { Ray , WideRay }
 the possible detection methods More...
enum  DetectionDirections { Front , Back , Both }
 the possible detection directions More...

Public Member Functions

override void Initialization ()
 On Init we grab our character.
override bool Decide ()
 On Decide we look for a target.
Public Member Functions inherited from MoreMountains.Tools.AIDecision
bool Decide ()
 Decide will be performed every frame while the Brain is in a state this Decision is in. Should return true or false, which will then determine the transition's outcome.
virtual void OnEnterState ()
 Meant to be overridden, called when the Brain enters a State this Decision is in.
virtual void OnExitState ()
 Meant to be overridden, called when the Brain exits a State this Decision is in.

Public Attributes

DetectMethods DetectMethod = DetectMethods.Ray
 the detection method
DetectionDirections DetectionDirection = DetectionDirections.Front
 the detection direction
float RayWidth = 1f
 the width of the ray to cast (if we're in WideRay mode only
float DetectionDistance = 10f
 the distance up to which we'll cast our rays
Vector3 DetectionOriginOffset = new Vector3(0,0,0)
 the offset to apply to the ray(s)
LayerMask TargetLayer
 the layer(s) on which we want to search a target on
LayerMask ObstaclesLayer = LayerManager.ObstaclesLayerMask
 the layer(s) on which obstacles are set. Obstacles will block the ray
Transform ReferenceTransform
 a transform to use as the rotation reference for detection raycasts. If you have a rotating model for example, you'll want to set it as your reference transform here.
bool SetTargetToNullIfNoneIsFound = true
 if this is true, this decision will set the AI Brain's Target to null if no target is found
Public Attributes inherited from MoreMountains.Tools.AIDecision
string Label
 a label you can set to organize your AI Decisions, not used by anything else

Protected Member Functions

virtual bool DetectTarget ()
 Returns true if a target is found by the ray.
virtual void OnDrawGizmos ()
 Draws ray gizmos.
Protected Member Functions inherited from MoreMountains.Tools.AIDecision
virtual void Awake ()
 On Awake we grab our Brain.

Protected Attributes

Vector2 _direction
Vector2 _facingDirection
float _distanceToTarget
Vector2 _raycastOrigin
Character _character
CharacterOrientation2D _orientation2D
bool _drawLeftGizmo = false
bool _drawRightGizmo = false
Color _gizmosColor = Color.yellow
Vector3 _gizmoCenter
Vector3 _gizmoSize
bool _init = false
Vector2 _boxcastSize = Vector2.zero
bool _isFacingRight = true
Protected Attributes inherited from MoreMountains.Tools.AIDecision
AIBrain _brain

Properties

virtual Vector2 _transformRight [get]
virtual Vector2 _transformLeft [get]
virtual Vector2 _transformUp [get]
virtual Vector2 _transformDown [get]
Properties inherited from MoreMountains.Tools.AIDecision
virtual bool DecisionInProgress [get, set]

Detailed Description

This Decision will return true if any object on its TargetLayer layermask enters its line of sight. It will also set the Brain's Target to that object. You can choose to have it in ray mode, in which case its line of sight will be an actual line (a raycast), or have it be wider (in which case it'll use a spherecast). You can also specify an offset for the ray's origin, and an obstacle layer mask that will block it.

Member Enumeration Documentation

◆ DetectionDirections

the possible detection directions

Enumerator
Front 
Back 
Both 

◆ DetectMethods

the possible detection methods

Enumerator
Ray 
WideRay 

Member Function Documentation

◆ Decide()

override bool MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D.Decide ( )

On Decide we look for a target.

Returns

◆ DetectTarget()

virtual bool MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D.DetectTarget ( )
protectedvirtual

Returns true if a target is found by the ray.

Returns

◆ Initialization()

override void MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D.Initialization ( )
virtual

On Init we grab our character.

Reimplemented from MoreMountains.Tools.AIDecision.

◆ OnDrawGizmos()

virtual void MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D.OnDrawGizmos ( )
protectedvirtual

Draws ray gizmos.

Member Data Documentation

◆ _boxcastSize

Vector2 MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._boxcastSize = Vector2.zero
protected

◆ _character

Character MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._character
protected

◆ _direction

Vector2 MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._direction
protected

◆ _distanceToTarget

float MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._distanceToTarget
protected

◆ _drawLeftGizmo

bool MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._drawLeftGizmo = false
protected

◆ _drawRightGizmo

bool MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._drawRightGizmo = false
protected

◆ _facingDirection

Vector2 MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._facingDirection
protected

◆ _gizmoCenter

Vector3 MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._gizmoCenter
protected

◆ _gizmosColor

Color MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._gizmosColor = Color.yellow
protected

◆ _gizmoSize

Vector3 MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._gizmoSize
protected

◆ _init

bool MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._init = false
protected

◆ _isFacingRight

bool MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._isFacingRight = true
protected

◆ _orientation2D

CharacterOrientation2D MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._orientation2D
protected

◆ _raycastOrigin

Vector2 MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._raycastOrigin
protected

◆ DetectionDirection

DetectionDirections MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D.DetectionDirection = DetectionDirections.Front

the detection direction

◆ DetectionDistance

float MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D.DetectionDistance = 10f

the distance up to which we'll cast our rays

◆ DetectionOriginOffset

Vector3 MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D.DetectionOriginOffset = new Vector3(0,0,0)

the offset to apply to the ray(s)

◆ DetectMethod

DetectMethods MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D.DetectMethod = DetectMethods.Ray

the detection method

◆ ObstaclesLayer

LayerMask MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D.ObstaclesLayer = LayerManager.ObstaclesLayerMask

the layer(s) on which obstacles are set. Obstacles will block the ray

◆ RayWidth

float MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D.RayWidth = 1f

the width of the ray to cast (if we're in WideRay mode only

◆ ReferenceTransform

Transform MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D.ReferenceTransform

a transform to use as the rotation reference for detection raycasts. If you have a rotating model for example, you'll want to set it as your reference transform here.

◆ SetTargetToNullIfNoneIsFound

bool MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D.SetTargetToNullIfNoneIsFound = true

if this is true, this decision will set the AI Brain's Target to null if no target is found

◆ TargetLayer

LayerMask MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D.TargetLayer

the layer(s) on which we want to search a target on

Property Documentation

◆ _transformDown

virtual Vector2 MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._transformDown
getprotected

◆ _transformLeft

virtual Vector2 MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._transformLeft
getprotected

◆ _transformRight

virtual Vector2 MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._transformRight
getprotected

◆ _transformUp

virtual Vector2 MoreMountains.TopDownEngine.AIDecisionDetectTargetLine2D._transformUp
getprotected

The documentation for this class was generated from the following file: