Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 8399 in orxonox.OLD


Ignore:
Timestamp:
Jun 14, 2006, 4:53:53 PM (18 years ago)
Author:
bensch
Message:

passing along scriptmethods

Location:
branches/script_engine/src/lib/script_engine
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/script_engine/src/lib/script_engine/lunar.h

    r8397 r8399  
    77
    88#include "luaincl.h"
    9 #include "executor/executor_lua.h"
     9#include "script_method.h"
    1010
    1111
     
    2121
    2222
    23   static void Register(Script* script, const std::string& className)
     23  static void Register(Script* script, const std::string& className, const ScriptMethod* scriptMethod)
    2424  {
    2525    if(script != NULL)
    26       Register(script->getLuaState(), className);
    27   }
    28 
    29   static void Register(lua_State *L, const std::string& className)
     26      Register(script->getLuaState(), className, scriptMethod);
     27  }
     28
     29  static void Register(lua_State *L, const std::string& className, const ScriptMethod* scriptMethod)
    3030  {
    3131    Lunar<T>::className = className;
  • branches/script_engine/src/lib/script_engine/script_class.cc

    r8393 r8399  
    2828  assert(scriptMethods != NULL);
    2929  this->setClassID(CL_SCRIPT_CLASS, "ScriptClass");
    30   this->classID = classID;
    3130
    32   this->scriptMethods = scriptMethods;
     31  this->_classID = classID;
     32
     33  this->_scriptMethods = scriptMethods;
    3334}
    3435
     
    3940ScriptClass::~ScriptClass ()
    4041{
    41   delete this->scriptMethods;
     42  delete this->_scriptMethods;
    4243}
  • branches/script_engine/src/lib/script_engine/script_class.h

    r8397 r8399  
    3131
    3232  bool operator==(const std::string& name) { return (this->getName() == name); }
    33   bool operator==(ClassID classID) { return (this->classID == classID); }
     33  bool operator==(ClassID classID) { return (this->_classID == classID); }
    3434
    3535  virtual void registerClass(Script* script) = 0;
    3636  virtual int insertObject(Script* L, BaseObject* obj, bool gc=false) = 0;
     37
     38  const ScriptMethod* scriptMethods() const { return this->_scriptMethods; }
    3739
    3840protected:
     
    4042
    4143private:
    42   ClassID             classID;
    43   ScriptMethod*       scriptMethods;
     44  ClassID             _classID;
     45  ScriptMethod*       _scriptMethods;
    4446};
    4547
     
    5759  virtual void registerClass(Script* script)
    5860  {
    59     Lunar<T>::Register(script, this->getName());
     61    Lunar<T>::Register(script, this->getName(), this->scriptMethods());
    6062  }
    6163  virtual int insertObject(Script* L, BaseObject* obj, bool gc=false)
Note: See TracChangeset for help on using the changeset viewer.