source:
orxonox.OLD/branches/script_engine/src/lib/script_engine/script_trigger.h
@
8243
Last change on this file since 8243 was 8243, checked in by snellen, 18 years ago | |
---|---|
File size: 1.3 KB |
Rev | Line | |
---|---|---|
[8170] | 1 | #ifndef _SCRIPT_TRIGGER_H |
2 | #define _SCRIPT_TRIGGER_H | |
3 | ||
[8171] | 4 | #include <string> |
5 | ||
[8170] | 6 | #include "world_entity.h" |
7 | #include "loading/load_param.h" | |
[8171] | 8 | #include "vector.h" |
9 | #include "script_manager.h" | |
[8211] | 10 | #include "script.h" |
[8170] | 11 | |
12 | class ScriptTrigger : public WorldEntity | |
13 | { | |
14 | public: | |
[8207] | 15 | ScriptTrigger(const TiXmlElement* root = NULL); |
[8170] | 16 | ~ScriptTrigger(); |
17 | ||
[8207] | 18 | ///LOADING |
[8170] | 19 | virtual void loadParams(const TiXmlElement* root); |
[8211] | 20 | |
21 | ||
[8208] | 22 | /// DO WORK |
[8171] | 23 | virtual void tick(float timestep); |
24 | virtual void executeAction(); | |
[8243] | 25 | void testScriptingFramework(); |
[8170] | 26 | |
[8208] | 27 | /// SET MEMBER |
[8199] | 28 | void setTarget(const std::string& targetName); |
[8202] | 29 | void setTarget(WorldEntity* target) { if(target!=NULL) this->target=target; } |
[8205] | 30 | void setTriggerParent(const std::string& name); |
[8208] | 31 | void setCallOnce(const bool call) { this->callOnce = call; } |
32 | void setRadius(const float radius) { if(radius>0) this->radius = radius; } | |
33 | void setDelay(const float time){if(delay>0) this->delay = delay; } | |
[8211] | 34 | void setScript(const std::string& file); |
[8208] | 35 | void setFunction(const std::string& function){ this->functionName = function; } |
[8171] | 36 | |
[8208] | 37 | |
[8170] | 38 | private: |
39 | ||
40 | WorldEntity* target; | |
[8178] | 41 | bool callOnce; |
[8202] | 42 | float radius; |
43 | float delay; | |
[8211] | 44 | Script* script; |
[8202] | 45 | std::string functionName; |
[8170] | 46 | |
[8208] | 47 | //for internal use |
[8205] | 48 | bool scriptCalled; |
[8211] | 49 | bool scriptIsOk; |
[8173] | 50 | |
[8170] | 51 | }; |
52 | ||
[8171] | 53 | #endif |
Note: See TracBrowser
for help on using the repository browser.