Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::AI Namespace Reference

Namespaces

namespace  anonymous_namespace{AITeam.cpp}
 
namespace  anonymous_namespace{WarSceneAIProcessor.cpp}
 
namespace  Attorney
 
namespace  Navigation
 

Classes

class  AIEntity
 Based on OgreCrowd. More...
 
class  AIManager
 
class  AIProcessor
 Provides a scene-level AI implementation. More...
 
class  AITeam
 
class  AudioSensor
 
class  GlobalWorkingMemory
 
class  GOAPGoal
 
struct  GOAPPackage
 
class  LocalWorkingMemory
 
class  NavigationMeshConfig
 
class  Order
 
class  Sensor
 
class  VisualSensor
 
class  WarSceneAction
 
class  WarSceneAIProcessor
 
class  WarSceneOrder
 
class  WorkingMemoryFact
 

Typedefs

using GOAPFact = I32
 
using GOAPValue = bool
 
using GOAPAction = goap::Action
 
using GOAPWorldState = goap::WorldState
 
using GOAPActionSet = vector< const GOAPAction * >
 
using GOAPPlan = vector< const GOAPAction * >
 
using GOAPGoalList = vector< GOAPGoal >
 
using NodeContainer = hashMap< I64, SceneGraphNode * >
 SGN GUID, SGN pointer.
 
using NodeContainerMap = hashMap< U32, NodeContainer >
 Container ID, NodeContainer.
 
using NodePositions = hashMap< I64, vec3< F32 > >
 SGN GUID, Last position.
 
using NodePositionsMap = hashMap< U32, NodePositions >
 Container ID, NodePositions.
 
using AINodeFact = WorkingMemoryFact< AIEntity *, FactType::AI_NODE >
 
using SGNNodeFact = WorkingMemoryFact< SceneGraphNode *, FactType::SGN_NODE >
 
using PositionFact = WorkingMemoryFact< vec3< F32 >, FactType::POSITION >
 
using SmallCounterFact = WorkingMemoryFact< U8, FactType::COUNTER_SMALL >
 
using MediumCounterFact = WorkingMemoryFact< U16, FactType::COUNTER_MEDIUM >
 
using LargeCounterFact = WorkingMemoryFact< U32, FactType::COUNTER_LARGE >
 
using ToggleStateFact = WorkingMemoryFact< bool, FactType::TOGGLE_STATE >
 

Enumerations

enum class  SensorType : U8 { NONE = 0 , VISUAL_SENSOR = 1 , AUDIO_SENSOR = 2 }
 
enum class  ActionType : U8 {
  APPROACH_ENEMY_FLAG = 0 , CAPTURE_ENEMY_FLAG = 1 , SCORE_FLAG = 2 , RETURN_TO_BASE = 3 ,
  IDLE = 4 , ATTACK_ENEMY = 5 , RECOVER_FLAG = 6 , COUNT
}
 
enum class  Fact : U8 {
  NEAR_ENEMY_FLAG = 0 , AT_HOME_BASE = 1 , HAS_ENEMY_FLAG = 2 , ENEMY_HAS_FLAG = 3 ,
  IDLING = 4 , ENEMY_DEAD = 5 , COUNT
}
 
enum class  UnitAttributes : U8 { HEALTH_POINTS = 0 , DAMAGE = 1 , ALIVE_FLAG = 2 , COUNT }
 
enum class  AIMsg : U8 {
  HAVE_FLAG = 0 , RETURNED_FLAG = 1 , ENEMY_HAS_FLAG = 2 , HAVE_SCORED = 3 ,
  ATTACK = 4 , HAVE_DIED = 5 , COUNT
}
 
enum class  FactType : U8 {
  POSITION = 0 , COUNTER_SMALL = 1 , COUNTER_MEDIUM = 2 , COUNTER_LARGE = 3 ,
  TOGGLE_STATE = 4 , AI_NODE = 5 , SGN_NODE = 6 , COUNT
}
 

Functions

const char * GOAPValueName (const GOAPValue val) noexcept
 
 FWD_DECLARE_MANAGED_CLASS (AIManager)
 
string WarSceneFactName (GOAPFact fact)
 

Variables

enum AIMsg
 scene dependent message list
 
constexpr F32 BORDER_PADDING = -3
 

Typedef Documentation

◆ AINodeFact

◆ GOAPAction

Definition at line 47 of file GOAPInterface.h.

◆ GOAPActionSet

using Divide::AI::GOAPActionSet = typedef vector<const GOAPAction*>

Definition at line 49 of file GOAPInterface.h.

◆ GOAPFact

using Divide::AI::GOAPFact = typedef I32

Definition at line 45 of file GOAPInterface.h.

◆ GOAPGoalList

Definition at line 90 of file GOAPInterface.h.

◆ GOAPPlan

using Divide::AI::GOAPPlan = typedef vector<const GOAPAction*>

Definition at line 50 of file GOAPInterface.h.

◆ GOAPValue

using Divide::AI::GOAPValue = typedef bool

Definition at line 46 of file GOAPInterface.h.

◆ GOAPWorldState

Definition at line 48 of file GOAPInterface.h.

◆ LargeCounterFact

◆ MediumCounterFact

◆ NodeContainer

SGN GUID, SGN pointer.

Definition at line 45 of file VisualSensor.h.

◆ NodeContainerMap

Container ID, NodeContainer.

Definition at line 47 of file VisualSensor.h.

◆ NodePositions

SGN GUID, Last position.

Definition at line 49 of file VisualSensor.h.

◆ NodePositionsMap

Container ID, NodePositions.

Definition at line 51 of file VisualSensor.h.

◆ PositionFact

◆ SGNNodeFact

◆ SmallCounterFact

◆ ToggleStateFact

Enumeration Type Documentation

◆ ActionType

enum class Divide::AI::ActionType : U8
strong
Enumerator
APPROACH_ENEMY_FLAG 
CAPTURE_ENEMY_FLAG 
SCORE_FLAG 
RETURN_TO_BASE 
IDLE 
ATTACK_ENEMY 
RECOVER_FLAG 
COUNT 

Definition at line 41 of file WarSceneActions.h.

◆ AIMsg

enum class Divide::AI::AIMsg : U8
strong
Enumerator
HAVE_FLAG 
RETURNED_FLAG 
ENEMY_HAS_FLAG 
HAVE_SCORED 
ATTACK 
HAVE_DIED 
COUNT 

Definition at line 52 of file WarSceneAIProcessor.h.

◆ Fact

enum class Divide::AI::Fact : U8
strong
Enumerator
NEAR_ENEMY_FLAG 
AT_HOME_BASE 
HAS_ENEMY_FLAG 
ENEMY_HAS_FLAG 
IDLING 
ENEMY_DEAD 
COUNT 

Definition at line 53 of file WarSceneActions.h.

◆ FactType

enum class Divide::AI::FactType : U8
strong
Enumerator
POSITION 
COUNTER_SMALL 
COUNTER_MEDIUM 
COUNTER_LARGE 
TOGGLE_STATE 
AI_NODE 
SGN_NODE 
COUNT 

Definition at line 62 of file WarSceneAIProcessor.h.

◆ SensorType

enum class Divide::AI::SensorType : U8
strong
Enumerator
NONE 
VISUAL_SENSOR 
AUDIO_SENSOR 

Definition at line 39 of file Sensor.h.

◆ UnitAttributes

enum class Divide::AI::UnitAttributes : U8
strong
Enumerator
HEALTH_POINTS 
DAMAGE 
ALIVE_FLAG 
COUNT 

Definition at line 45 of file WarSceneAIProcessor.h.

Function Documentation

◆ FWD_DECLARE_MANAGED_CLASS()

Divide::AI::FWD_DECLARE_MANAGED_CLASS ( AIManager  )

◆ GOAPValueName()

const char * Divide::AI::GOAPValueName ( const GOAPValue  val)
inlinenoexcept

Definition at line 52 of file GOAPInterface.h.

◆ WarSceneFactName()

string Divide::AI::WarSceneFactName ( GOAPFact  fact)
inline

Definition at line 63 of file WarSceneActions.h.

Variable Documentation

◆ AIMsg

enum Divide::AI::AIMsg
strong

scene dependent message list

Definition at line 1 of file AIEntity.h.

◆ BORDER_PADDING

constexpr F32 Divide::AI::BORDER_PADDING = -3
constexpr

Definition at line 51 of file NavMeshDefines.h.