Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/ScriptableController_HS17/src/orxonox/scriptablecontroller/scriptable_controller_api.h @ 11562

Last change on this file since 11562 was 11562, checked in by kohlia, 6 years ago

Figuring out when the different things are ready in orxonox

File size: 1.3 KB
Line 
1#ifndef SCRIPTABLE_CONTROLLER_API_H
2#define SCRIPTABLE_CONTROLLER_API_H
3
4#include <functional>
5#include "core/CoreIncludes.h"
6
7// TODO Is pos int or double?
8
9struct lua_State;
10
11namespace orxonox
12{
13
14class ScriptableController;
15
16class ScriptableControllerAPI
17{
18public:
19    ScriptableControllerAPI(lua_State *lua, ScriptableController *controller);
20    ~ScriptableControllerAPI();
21
22    void testOutput(std::function<void(std::string)> callback);
23
24    void orxPrint(std::string msg);
25    void registerAfterTimeout(std::function<void (void)> callback, double timeout);
26    int registerAtNearObject(std::function<void(int, int)> callback, int obj1, int obj2, double distance);
27    int registerAtAreaEnter(std::function<void (int)> callback, int obj, int x, int y, int z, int dx, int dy, int dz);
28    int registerAtAreaLeave(std::function<void (int)> callback, int obj, int x, int y, int z, int dx, int dy, int dz);
29    int registerAtObjectDestroyed(std::function<void (int)> callback, int obj);
30    int registerAtPickup(std::function<void (int)> callback, int pickup_id);
31
32    int destroyObject(int obj);
33    void removeObject(int obj);
34    int setObjectPosition(int obj, double x, double y, double z);
35
36private:
37    lua_State *lua_;
38    ScriptableController *controller_;
39};
40
41}
42
43#endif // SCRIPTABLE_CONTROLLER_API_H
Note: See TracBrowser for help on using the repository browser.