Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 8401 in orxonox.OLD


Ignore:
Timestamp:
Jun 14, 2006, 5:03:50 PM (18 years ago)
Author:
bensch
Message:

see this

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

Legend:

Unmodified
Added
Removed
  • branches/script_engine/src/lib/script_engine/account.cc

    r8400 r8401  
    3939 };
    4040
    41 tScriptClass<Account> global_ACCOUNT_ScriptableClass("Account", CL_ACCOUNT, new ScriptMethod("deposit", ExecutorLua1<Account, float>(&Account::deposit)));
     41 tScriptClass<Account> global_ACCOUNT_ScriptableClass("Account", CL_ACCOUNT, (new ScriptMethod())->addMethod("deposit", ExecutorLua1<Account, float>(&Account::deposit)));
    4242
    4343
  • branches/script_engine/src/lib/script_engine/object.cc

    r8393 r8401  
    88
    99
    10 class Object : public BaseObject {
    11    public:
    12      static const char className[];
    13      static Lunar<Object>::RegType methods[];
     10class Object : public BaseObject
     11{
     12public:
     13  static const char className[];
     14  static Lunar<Object>::RegType methods[];
    1415
    15      Object(lua_State* L) {callCount = 0; }
    16      Object(){callCount = 0;this->setClassID(CL_TEST_OBJECT, "Object");};
    17      ~Object() { printf("deleted Object (%p)\n", this); }
     16  Object(lua_State* L) {callCount = 0; }
     17  Object(){callCount = 0;this->setClassID(CL_TEST_OBJECT, "Object");};
     18  ~Object() { printf("deleted Object (%p)\n", this); }
    1819
    19         //meber functions
    20      void takeParam(int i)
    21      {
    22        printf("Lua passed %i to c++\n",i);
    23      }
     20  //meber functions
     21  void takeParam(int i)
     22  {
     23    printf("Lua passed %i to c++\n",i);
     24  }
    2425
    25      int printName(lua_State* L)
    26      {
    27        this->printName();
    28        return 0;
    29      }
     26  int printName(lua_State* L)
     27  {
     28    this->printName();
     29    return 0;
     30  }
    3031
    31      void printName()
    32      {
    33        callCount ++;
    34        printf("Hi i'm object %p ! This is the %i. call.\n",this,callCount);
    35      }
     32  void printName()
     33  {
     34    callCount ++;
     35    printf("Hi i'm object %p ! This is the %i. call.\n",this,callCount);
     36  }
    3637
    37      int getCallCount(){ return callCount; }
     38  int getCallCount(){ return callCount; }
    3839
    39    private:
    40      int callCount;
     40private:
     41  int callCount;
    4142
    42  };
     43};
    4344
    44  const char Object::className[] = "Object";
     45const char Object::className[] = "Object";
    4546
    46  Lunar<Object>::RegType Object::methods[] = {
    47    {"printName", new ExecutorLua0<Object>(&Object::printName)},
    48    {"getCallCount", new ExecutorLua0ret<Object, int>(&Object::getCallCount)},
    49    {"takeParam", new ExecutorLua1<Object, int>(&Object::takeParam)},
    50    {0,0}
    51  };
     47Lunar<Object>::RegType Object::methods[] = {
     48      {"printName", new ExecutorLua0<Object>(&Object::printName)},
     49      {"getCallCount", new ExecutorLua0ret<Object, int>(&Object::getCallCount)},
     50      {"takeParam", new ExecutorLua1<Object, int>(&Object::takeParam)},
     51      {0,0}
     52    };
    5253
    53  CREATE_SCRIPTABLE_CLASS(Object, CL_TEST_OBJECT, ScriptMethod("printName", ExecutorLua0<Object>(&Object::printName)));
     54CREATE_SCRIPTABLE_CLASS(Object, CL_TEST_OBJECT,
     55                        addMethod("printName", ExecutorLua0<Object>(&Object::printName))
     56                        ->addMethod("getCallCount", ExecutorLua0ret<Object, int>(&Object::getCallCount))
     57                        ->addMethod("takeParam", ExecutorLua1<Object, int>(&Object::takeParam)));
  • branches/script_engine/src/lib/script_engine/script_class.h

    r8399 r8401  
    1919 */
    2020#define CREATE_SCRIPTABLE_CLASS(CLASS_NAME, CLASS_ID, SCRIPT_METHODS) \
    21     tScriptClass<CLASS_NAME> global_##CLASS_NAME##_ScriptableClass(#CLASS_NAME, CLASS_ID, new SCRIPT_METHODS)
     21    tScriptClass<CLASS_NAME> global_##CLASS_NAME##_ScriptableClass(#CLASS_NAME, CLASS_ID, (new ScriptMethod)->SCRIPT_METHODS)
    2222
    2323
  • branches/script_engine/src/lib/script_engine/script_method.cc

    r8393 r8401  
    2222 * @todo this constructor is not jet implemented - do it
    2323*/
    24 ScriptMethod::ScriptMethod(const std::string& methodName, const Executor& executor)
    25 {
    26   this->addMethod(methodName, executor);
    27 }
     24ScriptMethod::ScriptMethod()
     25{ }
    2826
    2927ScriptMethod* ScriptMethod::addMethod(const std::string& methodName, const Executor& executor)
     
    5048  };
    5149}
    52 
    53 
    54 
  • branches/script_engine/src/lib/script_engine/script_method.h

    r8398 r8401  
    1515{
    1616public:
    17   ScriptMethod(const std::string& methodName, const Executor& executor);
     17  ScriptMethod();
    1818  ~ScriptMethod();
    1919
Note: See TracChangeset for help on using the changeset viewer.