Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Aug 25, 2006, 12:03:59 AM (18 years ago)
Author:
bensch
Message:

adapted script_engine

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/new_class_id/src/lib/script_engine/script.cc

    r9692 r9699  
    2323#include "parser/tinyxml/tinyxml.h"
    2424
    25 #include "class_list.h"
    2625CREATE_SCRIPTABLE_CLASS(Script, Script::classID(),
    2726                    addMethod("addObject", ExecutorLua2<Script,const std::string&, const std::string& >(&Script::addObject))
     
    5453Script::Script(const std::string& filename)
    5554{
    56   this->setClassID(CL_SCRIPT, "Script");
     55  this->registerObject(this, Script::_objectList);
    5756
    5857  returnCount = argumentCount = 0;
     
    144143   //printf(("Script %s: I am about to add %s of class %s\n",this->getName(),objectName.c_str(),className.c_str());
    145144
    146    BaseObject* scriptClass = ClassList::getObject(className, CL_SCRIPT_CLASS);
     145   ScriptClass* scriptClass = ScriptClass::objectList().getObject(className);
    147146  // printf(("The script class for %s is at %p \n",className.c_str(),scriptClass);
    148147   WorldObject tmpObj;
     
    152151     if( !classIsRegistered(className) )
    153152     {
    154      static_cast<ScriptClass*>(scriptClass)->registerClass(this);
    155      }
    156 
    157      BaseObject* object = ClassList::getObject(objectName, className);
     153       scriptClass->registerClass(this);
     154     }
     155
     156     BaseObject* object = NewObjectListBase::getBaseObject(objectName, className);
    158157    // printf(("%s is at %p \n",objectName.c_str(),object);
    159158     if (object != NULL && !objectIsAdded(objectName))
    160159     {
    161         static_cast<ScriptClass*>(scriptClass)->insertObject(this, object, false);
     160        scriptClass->insertObject(this, object, false);
    162161        tmpObj.name = objectName;
    163162        registeredObjects.push_back(tmpObj);
     
    354353void Script::addThisScript()
    355354{
    356   BaseObject* scriptClass = ClassList::getObject("Script", CL_SCRIPT_CLASS);
    357    if (scriptClass != NULL)
    358    {
    359      static_cast<ScriptClass*>(scriptClass)->registerClass(this);
    360      static_cast<ScriptClass*>(scriptClass)->insertObject(this, this,"thisscript", false);
     355  ScriptClass* scriptClass = ScriptClass::objectList().getObject("Script");
     356
     357  if (scriptClass != NULL)
     358   {
     359     scriptClass->registerClass(this);
     360     scriptClass->insertObject(this, this,"thisscript", false);
    361361   }
    362362}
     
    388388 void Script::registerClass( const std::string& className)
    389389 {
    390    BaseObject* scriptClass = ClassList::getObject(className, CL_SCRIPT_CLASS);
     390   ScriptClass* scriptClass = ScriptClass::objectList().getObject(className);
    391391   //printf(("The script class for %s is at %p \n",className.c_str(),scriptClass);
     392
    392393   WorldObject tmpObj;
    393394   if (scriptClass != NULL)
Note: See TracChangeset for help on using the changeset viewer.