Changeset 11562 for code/branches/ScriptableController_HS17/src/orxonox/scriptablecontroller/scriptable_controller.h
- Timestamp:
- Nov 13, 2017, 5:25:09 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/ScriptableController_HS17/src/orxonox/scriptablecontroller/scriptable_controller.h
r11549 r11562 17 17 { 18 18 19 class ScriptableController : public BaseObject, public Tickable19 class ScriptableController 20 20 { 21 21 public: 22 explicit ScriptableController(Context *context); 22 struct NearObjectHandler 23 { 24 NearObjectHandler(WorldEntity *otherObject, double distance, std::function<void (int, int)> callback) 25 : otherObject_(otherObject), distance_(distance), callback_(callback) 26 {} 27 28 WorldEntity *otherObject_; 29 double distance_; 30 std::function<void (int, int)> callback_; 31 std::list<std::unique_ptr<NearObjectHandler> >::iterator otherHandler_; 32 }; 23 33 24 34 int runScript(const std::string &file_path); 25 35 36 void setPlayer(PlayerInfo *player); 26 37 void registerWorldEntity(int id, WorldEntity *obj); 27 38 void registerControllableEntity(int id, ControllableEntity *obj); … … 30 41 ControllableEntity *getControllableEntityByID(int id) const; 31 42 32 void registerTimeout(std::function<void (void)> callback, double timeout);43 void addNearObjectHandler(int obj1, int obj2, double distance, std::function<void (int, int)> callback); 33 44 34 v irtual void tick(float dt) override;45 void objectMoved(WorldEntity *obj); 35 46 36 47 private: 37 48 std::list<std::unique_ptr<ScriptableControllerAPI> > apis_; 38 ControllableEntity *player_; // TODO49 PlayerInfo *player_; 39 50 std::map<int, WorldEntity*> worldEntities_; 40 51 std::map<int, ControllableEntity*> controllabelEntities_; 41 std::list<std::pair<std::function<void (void)>, float> > timeouts; 52 53 std::map<WorldEntity*, std::list<std::unique_ptr<NearObjectHandler> > > nearObjectHandlers_; 42 54 43 55 void printLuaError(lua_State *lua);
Note: See TracChangeset
for help on using the changeset viewer.