Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 8735 in orxonox.OLD for branches/script_engine/src/world_entities


Ignore:
Timestamp:
Jun 22, 2006, 4:54:55 PM (18 years ago)
Author:
snellen
Message:

script trigger can now be added to a script

Location:
branches/script_engine/src/world_entities
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/script_engine/src/world_entities/script_trigger.cc

    r8711 r8735  
    2121#include "state.h"
    2222
     23
     24CREATE_SCRIPTABLE_CLASS(ScriptTrigger, CL_SCRIPT_TRIGGER,
     25                            addMethod("setAbsCoor", ExecutorLua3<PNode,float,float,float>(&PNode::setAbsCoor))
     26                                ->addMethod("getAbsCoorX", ExecutorLua0ret<PNode, float>(&PNode::getAbsCoorX))
     27                                ->addMethod("getAbsCoorY", ExecutorLua0ret<PNode, float>(&PNode::getAbsCoorY))
     28                                ->addMethod("getAbsCoorZ", ExecutorLua0ret<PNode, float>(&PNode::getAbsCoorZ))
     29                       );
    2330
    2431
     
    4047  scriptIsOk = false;
    4148  triggerLasts = false;
     49  addToScript = false;
     50 
     51  if(root != NULL)
     52  {
     53   
    4254  loadParams(root);
    43 
     55   
     56  printf("%s \n",this->getName());
     57  BaseObject* object = ClassList::getObject(this->getName(), "ScriptTrigger");
     58 // printf("%s \n",object->getName());
     59 
     60  if(addToScript)
     61  {
     62    script->addObject( "ScriptTrigger", this->getName());
     63  }
     64 
     65  }
    4466}
    4567
     
    6082void ScriptTrigger::loadParams(const TiXmlElement* root)
    6183{
    62   if(root != NULL)
    63   {
     84
    6485    WorldEntity ::loadParams(root);
    6586
     
    97118        .describe("True if the script should only be called once")
    98119        .defaultValues("");
    99   }
    100 
     120    LoadParam(root, "addtoscript", this, ScriptTrigger, setAddToScript)
     121        .describe("True if this scripttrigger should be aviable in the script")
     122        .defaultValues("");
    101123}
    102124
  • branches/script_engine/src/world_entities/script_trigger.h

    r8711 r8735  
    1414#include "script_manager.h"
    1515#include "script.h"
     16#include "script_class.h"
    1617
    1718class ScriptTrigger : public WorldEntity
     
    4243    void setFunction(const std::string& function){ this->functionName = function;}
    4344    void setDebugDraw(const bool draw) { this->doDebugDraw = draw; }
     45    void setAddToScript(const bool add) { this->addToScript = add; }
    4446
    4547    ///DRAWING
     
    5759    std::string  functionName;
    5860    bool         doDebugDraw;
    59 
     61    bool         addToScript;
    6062    //for internal use
    6163    bool         scriptCalled;
     
    6668};
    6769
     70
    6871#endif
  • branches/script_engine/src/world_entities/space_ships/helicopter.cc

    r8495 r8735  
    3636CREATE_FACTORY(Helicopter, CL_HELICOPTER);
    3737#include "script_class.h"
    38 //CREATE_SCRIPTABLE_CLASS(Helicopter, CL_HELICOPTER, NULL);
    39 
     38CREATE_SCRIPTABLE_CLASS(Helicopter, CL_HELICOPTER,
     39                        addMethod("moveUp", ExecutorLua1<Helicopter,bool>(&Helicopter::moveUp))
     40                            ->addMethod("moveDown", ExecutorLua1<Helicopter,bool>(&Helicopter::moveDown))
     41                            ->addMethod("setAbsCoor", ExecutorLua3<PNode,float,float,float>(&PNode::setAbsCoor))
     42                            ->addMethod("getAbsCoorX", ExecutorLua0ret<PNode, float>(&PNode::getAbsCoorX))
     43                            ->addMethod("getAbsCoorY", ExecutorLua0ret<PNode, float>(&PNode::getAbsCoorY))
     44                            ->addMethod("getAbsCoorZ", ExecutorLua0ret<PNode, float>(&PNode::getAbsCoorZ))
     45                           
     46                       );
    4047
    4148/**
  • branches/script_engine/src/world_entities/space_ships/helicopter.h

    r8711 r8735  
    8383};
    8484
    85 CREATE_SCRIPTABLE_CLASS(Helicopter, CL_HELICOPTER,
    86                         addMethod("moveUp", ExecutorLua1<Helicopter,bool>(&Helicopter::moveUp))
    87                         ->addMethod("moveDown", ExecutorLua1<Helicopter,bool>(&Helicopter::moveDown))
    88                         ->addMethod("setAbsCoor", ExecutorLua3<PNode,float,float,float>(&PNode::setAbsCoor))
    89                         ->addMethod("getAbsCoorX", ExecutorLua0ret<PNode, float>(&PNode::getAbsCoorX))
    90                         ->addMethod("getAbsCoorY", ExecutorLua0ret<PNode, float>(&PNode::getAbsCoorY))
    91                         ->addMethod("getAbsCoorZ", ExecutorLua0ret<PNode, float>(&PNode::getAbsCoorZ))
    92                            
    93                         );
    94 
    95 
    9685#endif /* _HELICOPTERS_H */
Note: See TracChangeset for help on using the changeset viewer.