Conscience Core
EntityGroupProcesses.h
Go to the documentation of this file.
1 //
2 // EntityGroupProcesses.hpp
3 // ConscienceRobotManager
4 //
5 // Created by Max Lhermitte on 15/02/2023.
6 // Copyright © 2023 IliesZaoui. All rights reserved.
7 //
8 
9 #ifndef EntityGroupProcesses_hpp
10 #define EntityGroupProcesses_hpp
11 
12 #include <thread>
13 
15 #include "CscMoveForwardInGroup.h"
19 
22 private:
24  vector<CscMoveForwardInGroup *> *moveForwardInGroupList;
25  CscEnvironmentSimulator *environmentSimulator = nullptr;
27  bool threadLaunched = false;
32  void addElementEntityGroupProcessesOrSlaveInElement(ptr<CscMoveForwardInGroupTarget> master, ptr<CscEntityReflexion> slave, const CscMoveForwardInGroup::FollowParameters *params);
33  void startThreadIfNotStartedYet();
34 
35 public:
36  static EntityGroupProcesses *getInstance();
43  void followEntity(ptr<CscEntityReflexion> master, ptr<CscEntityReflexion> slave, const CscMoveForwardInGroup::FollowParameters *params);
44  void followObject(const string &objectId, ptr<CscEntityReflexion> slave, const CscMoveForwardInGroup::FollowParameters *params);
45 
50  void stopFollowEntity(ptr<CscEntityReflexion> slave);
51  void stopFollowObject(ptr<CscEntityReflexion> slave);
52  vector<CscMoveForwardInGroup *> *getMoveForwardInGroupList() const;
53 };
54 }
55 #endif /* ListMoveForwardInGroup_hpp */
CscMoveForwardInGroupTargetEntity.h
CSC_DLL_IMPORTEXPORT
#define CSC_DLL_IMPORTEXPORT
Definition: os.h:31
CscMoveForwardInGroup.h
conscience_core::ai::multi_entity::EntityGroupProcesses
Definition: EntityGroupProcesses.h:21
CscEntityReflexion.h
conscience_core::ai::multi_entity
Definition: CscMoveForwardInGroup.cpp:17
conscience_core::ai::multi_entity::CscMoveForwardInGroup::FollowParameters
Definition: CscMoveForwardInGroup.h:34
conscience_server::entities::instance
ServerEntities * instance
Definition: ServerEntities.cpp:39
CscEnvironmentSimulator.h
CscEnvironmentSimulator
Definition: CscEnvironmentSimulator.h:35
conscience_utils::logging::CscLogger
Definition: conscience_log.h:121
ptr
std::shared_ptr< T > ptr
Definition: CscCommon.h:29