gwnavruntime/path/ipatheventlistobserver.h Source File

ipatheventlistobserver.h
Go to the documentation of this file.
1 /*
2 * Copyright 2016 Autodesk, Inc. All rights reserved.
3 * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4 * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5 */
6 
7 #pragma once
8 
12 
13 
14 namespace Kaim
15 {
16 class Bot;
17 class NavTag;
18 
23 class IPathEventListObserver : public RefCountBase<IPathEventListObserver, MemStat_PathFollowing>
24 {
25 public:
27  virtual ~IPathEventListObserver() {}
28 
30  {
33  };
34 
56  virtual void OnPathEventListBuildingStageDone(Bot* bot, PathEventList& pathEventList, KyUInt32 startIdxOfFirstNewEventInterval, FirstIntervalStatus firstIntervalStatus) = 0;
57 
60  {
64  };
65 
69  virtual void OnPathEventListDestroy(Bot* bot, PathEventList& pathEventList, DestructionPurpose destructionPurpose) = 0;
70 };
71 
72 
78 {
79 public:
81 
82  virtual ~DefaultPathEventListObserver() {}
83 
84  virtual void OnPathEventListDestroy(Kaim::Bot* /*bot*/, Kaim::PathEventList& /*pathEventList*/, DestructionPurpose /*destructionPurpose*/) {}
85 
86  virtual void OnPathEventListBuildingStageDone(Kaim::Bot* /*bot*/, Kaim::PathEventList& /*pathEventList*/, KyUInt32 /*firstIndexOfNewEvent*/, FirstIntervalStatus /*firstIntervalStatus*/) {}
87 };
88 
89 } // namespace Kaim
90 
The Path is being destroyed itself.
Definition: ipatheventlistobserver.h:61
This class is the world element that represent an active character in Autodesk Navigation.
Definition: bot.h:128
PathEventList aggregates all PathEvents and PathEventIntervals in a PathValidityInterval.
Definition: patheventlist.h:117
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
IPathEventListObservers are called when related PathEventList has just been created or is about to be...
Definition: ipatheventlistobserver.h:23
virtual void OnPathEventListBuildingStageDone(Kaim::Bot *, Kaim::PathEventList &, KyUInt32, FirstIntervalStatus)
This function is called each time a stage of Path validation/PathEventList build is done...
Definition: ipatheventlistobserver.h:86
A new Path has been computed, the former Path and the related PathEventList are being destroyed...
Definition: ipatheventlistobserver.h:62
FirstIntervalStatus
Definition: ipatheventlistobserver.h:29
virtual void OnPathEventListDestroy(Bot *bot, PathEventList &pathEventList, DestructionPurpose destructionPurpose)=0
This function is called each time a non-empty PathEventList is going to be destroyed.
This default IPathEventListObserver does not set any PathEvent as CheckPoint.
Definition: ipatheventlistobserver.h:77
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
The first new interval is an extension of a previous one whose end PathEvent has been moved...
Definition: ipatheventlistobserver.h:32
A new PathEventList is about to be computed for the same Path.
Definition: ipatheventlistobserver.h:63
The first new interval is not an extension of a previous one, it starts from the previous last PathEv...
Definition: ipatheventlistobserver.h:31
virtual void OnPathEventListDestroy(Kaim::Bot *, Kaim::PathEventList &, DestructionPurpose)
This function is called each time a non-empty PathEventList is going to be destroyed.
Definition: ipatheventlistobserver.h:84
DestructionPurpose
Explains the reason the PathEventList is about to be destroyed.
Definition: ipatheventlistobserver.h:59
virtual void OnPathEventListBuildingStageDone(Bot *bot, PathEventList &pathEventList, KyUInt32 startIdxOfFirstNewEventInterval, FirstIntervalStatus firstIntervalStatus)=0
This function is called each time a stage of Path validation/PathEventList build is done...