gwnavgamekit/gamekittraverselogic.h Source File
Go to the documentation of this file.
18 class GameKitNavTagLayerCostTable;
19 class GameKitSmartObjectCostTable;
20 class GameKitCrowdDispersionTraverseLogicData;
24 class GameKitTraverseLogicData :
public RefCountBase<GameKitTraverseLogicData, MemStat_GameKit>
29 GameKitTraverseLogicData();
30 ~GameKitTraverseLogicData();
32 void SetLayerCostTable(Ptr<GameKitNavTagLayerCostTable> layerCostTable);
33 Ptr<GameKitNavTagLayerCostTable> GetLayerCostTable();
35 void SetSmartObjectCostTable(Ptr<GameKitSmartObjectCostTable> smartObjectCostTable);
36 Ptr<GameKitSmartObjectCostTable> GetSmartObjectCostTable();
43 void EnableCrowdDispersion(Ptr<GameKitCrowdDispersionNavTagHashMap> crowdDispersionNavTagHashMap,
44 KyFloat32 checkForAlternativePathDistance = 20.f,
KyFloat32 stickToChoiceDistance = 1.f);
46 GameKitCrowdDispersionTraverseLogicData* GetCrowdDispersionData()
const {
return m_crowdDispersionData; }
52 bool CanTraverseSmartObject(
KyUInt32 smartObjectID,
KyFloat32* costMultiplier)
const;
57 Ptr<GameKitSmartObjectCostTable> m_smartObjectCostTable;
60 Ptr<GameKitNavTagLayerCostTable> m_layerCostTable;
63 Ptr<GameKitCrowdDispersionTraverseLogicData> m_crowdDispersionData;
70 static KyFloat32 GetHeuristicFromDistanceToDest(
void* traverseLogicUserData,
KyFloat32 distance3DToDestination);
71 static bool CanTraverseNavTag(
void* traverseLogicUserData,
const NavTag& navTag,
KyFloat32* costMultiplier);
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
TraverseLogicWithCostPerNavTag defines the functions called when cost customization is per NavTag...
Definition: traverselogic.h:95
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
Custom traverse logic to manage NavTag Layers and SmartObjects.
Definition: gamekittraverselogic.h:67
float KyFloat32
float
Definition: types.h:32