TopDown Engine  v3.6
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 { DetectMethods.Ray, DetectMethods.WideRay }
 the possible detection methods More...
 
enum  DetectionDirections { DetectionDirections.Front, DetectionDirections.Back, DetectionDirections.Both }
 the possible detection directions More...
 

Public Member Functions

override void Initialization ()
 On Init we grab our character More...
 
override bool Decide ()
 On Decide we look for a target More...
 
- Public Member Functions inherited from MoreMountains.Tools.AIDecision
virtual void OnEnterState ()
 Meant to be overridden, called when the Brain enters a State this Decision is in More...
 
virtual void OnExitState ()
 Meant to be overridden, called when the Brain exits a State this Decision is in More...
 

Public Attributes

DetectMethods DetectMethod = DetectMethods.Ray
 the detection method More...
 
DetectionDirections DetectionDirection = DetectionDirections.Front
 the detection direction More...
 
float RayWidth = 1f
 the width of the ray to cast (if we're in WideRay mode only More...
 
float DetectionDistance = 10f
 the distance up to which we'll cast our rays More...
 
Vector3 DetectionOriginOffset = new Vector3(0,0,0)
 the offset to apply to the ray(s) More...
 
LayerMask TargetLayer
 the layer(s) on which we want to search a target on More...
 
LayerMask ObstaclesLayer = LayerManager.ObstaclesLayerMask
 the layer(s) on which obstacles are set. Obstacles will block the ray More...
 
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. More...
 
bool SetTargetToNullIfNoneIsFound = true
 if this is true, this decision will set the AI Brain's Target to null if no target is found More...
 
- Public Attributes inherited from MoreMountains.Tools.AIDecision
string Label
 a label you can set to organize your AI Decisions, not used by anything else More...
 

Protected Member Functions

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

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 ( )
virtual

On Decide we look for a target

Returns

Implements MoreMountains.Tools.AIDecision.

◆ 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: