TopDown Engine  v3.6
MoreMountains.TopDownEngine.AIActionShoot2D Class Reference

An Action that shoots using the currently equipped weapon. If your weapon is in auto mode, will shoot until you exit the state, and will only shoot once in SemiAuto mode. You can optionnally have the character face (left/right) the target, and aim at it (if the weapon has a WeaponAim component). More...

Inheritance diagram for MoreMountains.TopDownEngine.AIActionShoot2D:
MoreMountains.Tools.AIAction

Public Types

enum  AimOrigins { AimOrigins.Transform, AimOrigins.SpawnPoint }
 
- Public Types inherited from MoreMountains.Tools.AIAction
enum  InitializationModes { InitializationModes.EveryTime, InitializationModes.OnlyOnce }
 

Public Member Functions

override void Initialization ()
 On init we grab our CharacterHandleWeapon ability More...
 
override void PerformAction ()
 On PerformAction we face and aim if needed, and we shoot More...
 
override void OnEnterState ()
 When entering the state we reset our shoot counter and grab our weapon More...
 
override void OnExitState ()
 When exiting the state we make sure we're not shooting anymore More...
 

Public Attributes

CharacterHandleWeapon TargetHandleWeaponAbility
 the CharacterHandleWeapon ability this AI action should pilot. If left blank, the system will grab the first one it finds. More...
 
AimOrigins AimOrigin = AimOrigins.Transform
 the origin we'll take into account when computing the aim direction towards the target More...
 
bool FaceTarget = true
 if true, the Character will face the target (left/right) when shooting More...
 
bool AimAtTarget = false
 if true the Character will aim at the target when shooting More...
 
bool OnlyAimWhenInState = false
 whether or not to only perform aim when in this state More...
 
- Public Attributes inherited from MoreMountains.Tools.AIAction
InitializationModes InitializationMode
 
string Label
 a label you can set to organize your AI Actions, not used by anything else More...
 

Protected Member Functions

virtual void Update ()
 Sets the current aim if needed More...
 
virtual void MakeChangesToTheWeapon ()
 Makes changes to the weapon to ensure it works ok with AI scripts More...
 
virtual void TestFaceTarget ()
 Faces the target if required More...
 
virtual void TestAimAtTarget ()
 Aims at the target if required More...
 
virtual void Shoot ()
 Activates the weapon More...
 
- Protected Member Functions inherited from MoreMountains.Tools.AIAction
virtual void Awake ()
 On Awake we grab our AIBrain More...
 

Protected Attributes

CharacterOrientation2D _orientation2D
 
Character _character
 
WeaponAim _weaponAim
 
ProjectileWeapon _projectileWeapon
 
Vector3 _weaponAimDirection
 
int _numberOfShoots = 0
 
bool _shooting = false
 
- Protected Attributes inherited from MoreMountains.Tools.AIAction
bool _initialized
 
AIBrain _brain
 

Additional Inherited Members

- Properties inherited from MoreMountains.Tools.AIAction
virtual bool ActionInProgress [get, set]
 
virtual bool ShouldInitialize [get]
 

Detailed Description

An Action that shoots using the currently equipped weapon. If your weapon is in auto mode, will shoot until you exit the state, and will only shoot once in SemiAuto mode. You can optionnally have the character face (left/right) the target, and aim at it (if the weapon has a WeaponAim component).

Member Enumeration Documentation

◆ AimOrigins

Enumerator
Transform 
SpawnPoint 

Member Function Documentation

◆ Initialization()

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

On init we grab our CharacterHandleWeapon ability

Reimplemented from MoreMountains.Tools.AIAction.

◆ MakeChangesToTheWeapon()

virtual void MoreMountains.TopDownEngine.AIActionShoot2D.MakeChangesToTheWeapon ( )
protectedvirtual

Makes changes to the weapon to ensure it works ok with AI scripts

◆ OnEnterState()

override void MoreMountains.TopDownEngine.AIActionShoot2D.OnEnterState ( )
virtual

When entering the state we reset our shoot counter and grab our weapon

Reimplemented from MoreMountains.Tools.AIAction.

◆ OnExitState()

override void MoreMountains.TopDownEngine.AIActionShoot2D.OnExitState ( )
virtual

When exiting the state we make sure we're not shooting anymore

Reimplemented from MoreMountains.Tools.AIAction.

◆ PerformAction()

override void MoreMountains.TopDownEngine.AIActionShoot2D.PerformAction ( )
virtual

On PerformAction we face and aim if needed, and we shoot

Implements MoreMountains.Tools.AIAction.

◆ Shoot()

virtual void MoreMountains.TopDownEngine.AIActionShoot2D.Shoot ( )
protectedvirtual

Activates the weapon

◆ TestAimAtTarget()

virtual void MoreMountains.TopDownEngine.AIActionShoot2D.TestAimAtTarget ( )
protectedvirtual

Aims at the target if required

◆ TestFaceTarget()

virtual void MoreMountains.TopDownEngine.AIActionShoot2D.TestFaceTarget ( )
protectedvirtual

Faces the target if required

◆ Update()

virtual void MoreMountains.TopDownEngine.AIActionShoot2D.Update ( )
protectedvirtual

Sets the current aim if needed

Member Data Documentation

◆ _character

Character MoreMountains.TopDownEngine.AIActionShoot2D._character
protected

◆ _numberOfShoots

int MoreMountains.TopDownEngine.AIActionShoot2D._numberOfShoots = 0
protected

◆ _orientation2D

CharacterOrientation2D MoreMountains.TopDownEngine.AIActionShoot2D._orientation2D
protected

◆ _projectileWeapon

ProjectileWeapon MoreMountains.TopDownEngine.AIActionShoot2D._projectileWeapon
protected

◆ _shooting

bool MoreMountains.TopDownEngine.AIActionShoot2D._shooting = false
protected

◆ _weaponAim

WeaponAim MoreMountains.TopDownEngine.AIActionShoot2D._weaponAim
protected

◆ _weaponAimDirection

Vector3 MoreMountains.TopDownEngine.AIActionShoot2D._weaponAimDirection
protected

◆ AimAtTarget

bool MoreMountains.TopDownEngine.AIActionShoot2D.AimAtTarget = false

if true the Character will aim at the target when shooting

◆ AimOrigin

AimOrigins MoreMountains.TopDownEngine.AIActionShoot2D.AimOrigin = AimOrigins.Transform

the origin we'll take into account when computing the aim direction towards the target

◆ FaceTarget

bool MoreMountains.TopDownEngine.AIActionShoot2D.FaceTarget = true

if true, the Character will face the target (left/right) when shooting

◆ OnlyAimWhenInState

bool MoreMountains.TopDownEngine.AIActionShoot2D.OnlyAimWhenInState = false

whether or not to only perform aim when in this state

◆ TargetHandleWeaponAbility

CharacterHandleWeapon MoreMountains.TopDownEngine.AIActionShoot2D.TargetHandleWeaponAbility

the CharacterHandleWeapon ability this AI action should pilot. If left blank, the system will grab the first one it finds.


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