Changeset 18 for nrEngine/src/Engine.cpp


Ignore:
Timestamp:
01/06/2007 12:18:45 AM (13 years ago)
Author:
art
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • nrEngine/src/Engine.cpp

    r1 r18  
    2222#include "ScriptEngine.h" 
    2323#include "ScriptLoader.h" 
     24#include "PropertyManager.h" 
     25#include "DefaultScriptingFunctions.cpp" 
    2426 
    2527namespace nrEngine{ 
     
    3436        ScriptEngine*           Engine::_script = NULL; 
    3537        EventManager*           Engine::_event = NULL; 
     38        PropertyManager*        Engine::_propmgr = NULL; 
    3639 
    3740        //-------------------------------------------------------------------------- 
     
    117120        } 
    118121 
     122        //-------------------------------------------------------------------------- 
     123        PropertyManager* Engine::sPropertyManager() 
     124        { 
     125                valid(_propmgr, "PropertyManager"); 
     126                return _propmgr; 
     127        } 
     128 
    119129        //------------------------------------------------------------------------ 
    120130        Engine::Engine() 
     
    126136                        NR_EXCEPT(OUT_OF_MEMORY, "Log system could not be created. Probably memory is full", "Engine::Engine()"); 
    127137                } 
     138                 
     139                // create property manager 
     140                _propmgr = (new PropertyManager()); 
     141                if (_propmgr == NULL) 
     142                { 
     143                        NR_EXCEPT(OUT_OF_MEMORY, "PropertyManager could not been created. Check if the memory is not full", "Engine::Engine()"); 
     144                } 
    128145 
    129146                // initialize the scripting engine 
     
    152169        Engine::~Engine() 
    153170        { 
     171                // remove default scripting methods 
     172                DefaultScriptingFunctions::delMethods(); 
    154173 
    155174                // remove the manager 
     
    168187                delete _event; 
    169188                 
     189                // remove property manager 
     190                delete _propmgr; 
     191                 
    170192                // remove profiler 
    171193                delete _profiler; 
     
    197219                // give some info about the underlying engine 
    198220                NR_Log(Log::LOG_ENGINE | Log::LOG_CONSOLE | Log::LOG_KERNEL, "nrEngine v%s - %s", convertVersionToString(nrEngineVersion).c_str(), NR_VERSION_NAME); 
    199  
     221                 
    200222                // initialize the clock 
    201223                SharedPtr<TimeSource> timeSource(new TimeSource()); 
     
    220242                _kernel->AddTask(SharedPtr<ITask>(_event, null_deleter()), ORDER_SYS_SECOND); 
    221243 
     244                // initialise default scripting methods 
     245                DefaultScriptingFunctions::addMethods(); 
     246                 
    222247                // initialize resource manager singleton 
    223248                _resmgr = (new ResourceManager()); 
     
    283308 
    284309        //} 
    285  
    286  
     310         
    287311}; // end namespace 
    288312 
    289 #if 0 
    290 /** 
    291  * This function will convert the given nrResult number to the 
    292  * string describing it. e.g: NR_OK => "NR_OK" 
    293  * 
    294  * @param res - error code to be converted in string 
    295  * \ingroup engine 
    296  **/ 
    297 /*string        nrErrorGetShort(nrResult res){ 
    298  
    299         char str[256]; 
    300         sprintf(str, "%x", res); 
    301  
    302 #define _ERROR(p) case p: sprintf(str, #p);break; 
    303  
    304         switch (res){ 
    305  
    306 _ERROR(NR_OK) 
    307 _ERROR(NR_UNKNOWN_ERROR) 
    308 _ERROR(NR_BAD_PARAMETERS) 
    309 _ERROR(NR_OUT_OF_MEMORY) 
    310  
    311 _ERROR(NR_FILE_ERROR) 
    312 _ERROR(NR_FILE_NOT_FOUND) 
    313 _ERROR(NR_FILE_ERROR_IN_LINE) 
    314  
    315 _ERROR(NR_PROFILE_ERROR) 
    316 _ERROR(NR_PROFILE_NOT_FOUND) 
    317 _ERROR(NR_PROFILE_NOT_LOADED) 
    318 _ERROR(NR_PROFILE_NOT_EXISTS) 
    319 _ERROR(NR_PROFILE_ALREADY_EXISTS) 
    320  
    321 _ERROR(NR_EXTENSION_ERROR) 
    322 _ERROR(NR_EXTENSION_NOT_SUPPORTED) 
    323  
    324 _ERROR(NR_VFS_ERROR) 
    325 _ERROR(NR_VFS_ALREADY_OPEN) 
    326 _ERROR(NR_VFS_CANNOT_OPEN) 
    327 _ERROR(NR_VFS_CANNOT_CLOSE) 
    328 _ERROR(NR_VFS_IS_NOT_OPEN) 
    329 _ERROR(NR_VFS_FILE_NOT_FOUND) 
    330 _ERROR(NR_VFS_FILE_NOT_OPEN) 
    331 _ERROR(NR_VFS_FILE_END_REACHED) 
    332 _ERROR(NR_VFS_FILE_READ_ERROR) 
    333 _ERROR(NR_VFS_LINE_READ_ERROR) 
    334 _ERROR(NR_VFS_SCAN_READ_ERROR) 
    335 _ERROR(NR_VFS_SEEK_ERROR) 
    336  
    337 _ERROR(NR_APP_ERROR) 
    338  
    339 _ERROR(NR_LOG_ERROR) 
    340  
    341 _ERROR(NR_SETTINGS_ERROR) 
    342 _ERROR(NR_SETTINGS_VAR_ALREADY_REGISTERED) 
    343 _ERROR(NR_SETTINGS_VAR_NOT_REGISTERED) 
    344  
    345 _ERROR(NR_KERNEL_ERROR) 
    346 _ERROR(NR_KERNEL_NO_TASK_FOUND) 
    347  
    348 _ERROR(NR_TASK_ERROR) 
    349 _ERROR(NR_TASK_NOT_READY) 
    350  
    351 _ERROR(NR_CONSOLE_ERROR) 
    352 _ERROR(NR_CONSOLE_ITEM_ALREADY_EXISTS) 
    353  
    354  
    355 _ERROR(NR_TEX_ERROR) 
    356 _ERROR(NR_TEX_INVALID_FORMAT) 
    357 _ERROR(NR_TEX_NOT_CREATED_BEFORE) 
    358  
    359 _ERROR(NR_CLOCK_ERROR) 
    360 _ERROR(NR_CLOCK_OBSERVER_NOT_FOUND) 
    361 _ERROR(NR_CLOCK_OBSERVER_ALREADY_ADDED) 
    362  
    363 _ERROR(NR_FW_ERROR) 
    364 _ERROR(NR_FW_CANNOT_INITIALIZE) 
    365 _ERROR(NR_FW_FAILED_TO_RESIZE) 
    366 _ERROR(NR_FW_INVALID_RC_ID) 
    367 _ERROR(NR_FW_ALREADY_INIT) 
    368 _ERROR(NR_FW_NOT_INITIALIZED) 
    369  
    370 _ERROR(NR_RC_ERROR) 
    371 _ERROR(NR_RC_CANNOT_SETUP_PIXEL_FORMAT) 
    372  
    373 _ERROR(NR_ENGINE_ERROR) 
    374 _ERROR(NR_ENGINE_YOU_MUST_CREATE_ENGINE_BEFORE) 
    375  
    376 _ERROR(NR_RES_ERROR) 
    377 _ERROR(NR_RES_LOADER_ALREADY_EXISTS) 
    378 _ERROR(NR_RES_LOADER_NOT_REGISTERED) 
    379 _ERROR(NR_RES_ALREADY_EXISTS) 
    380 _ERROR(NR_RES_BAD_FILETYPE) 
    381 _ERROR(NR_RES_CAN_NOT_LOAD_EMPTY) 
    382 _ERROR(NR_RES_NOT_FOUND) 
    383 _ERROR(NR_RES_LOADER_NOT_EXISTS ) 
    384  
    385                 default: 
    386                         sprintf(str,"%x", res); 
    387         } 
    388  
    389 #undef _ERROR 
    390         return str; 
    391 }*/ 
    392 #endif 
Note: See TracChangeset for help on using the changeset viewer.