Changeset 24 for nrEngine


Ignore:
Timestamp:
03/03/2007 01:19:33 PM (13 years ago)
Author:
art
Message:
 
Location:
nrEngine
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • nrEngine/include/IScript.h

    r23 r24  
    260260                        Result updateTask(); 
    261261 
     262                        /** 
     263                         * Method is called from kernel, when script starts its execution 
     264                         **/ 
     265                        Result onStartTask(); 
     266                         
    262267                        //! Here we store the whole script as a string 
    263268                        std::string mContent; 
     
    281286                         **/ 
    282287                        virtual bool hasCommands() = 0; 
     288                         
     289                        /** 
     290                         * This method will be called if a script is gonna be executed. 
     291                         * Override this method to make some initializations for example. 
     292                         **/ 
     293                        virtual void onStartScript() {}; 
    283294                         
    284295                private: 
  • nrEngine/include/Script.h

    r23 r24  
    118118                        bool hasCommands(); 
    119119 
     120                        //! Script was started 
     121                        void onStartScript(); 
     122                         
    120123                        //! Derived from IScript 
    121124                        Result run(); 
     
    194197                        float32 mTime; 
    195198 
     199                        //! This is our reset time, used to start time counting from beginning 
     200                        float32 mResetTime; 
     201                         
    196202                        //! Run only one step from the script 
    197203                        Result step(); 
  • nrEngine/src/IScript.cpp

    r23 r24  
    3030 
    3131        //-------------------------------------------------------------------- 
     32        Result IScript::onStartTask() 
     33        { 
     34                // notice derived classes about starting 
     35                onStartScript(); 
     36                 
     37                return OK; 
     38        } 
     39 
     40        //-------------------------------------------------------------------- 
    3241        Result IScript::execute(bool runOnce) 
    3342        { 
  • nrEngine/src/Script.cpp

    r23 r24  
    3030                mTime = 0; 
    3131                bRunStepwise = true; 
     32                mResetTime = 0; 
    3233        } 
    3334 
     
    230231                        mTimedCommand[id].time = mTime; 
    231232 
     233                        //printf("%s: %f %f\n", mTimedCommand[id].cmd.c_str(), mTimedCommand[id].estimatedStart, mTimedCommand[id].time); 
     234                         
    232235                        // if the estimated start time is reeached, so start the command and remove it from the queue 
    233236                        if (mTimedCommand[id].estimatedStart < mTimedCommand[id].time) 
     
    262265                        }else{ 
    263266                                Engine::sKernel()->RemoveTask(this->getTaskID()); 
     267                        } 
     268                        // check for time reset command 
     269                        if (mCommand[id].cmd != std::string("_reset_script_time_")) 
     270                        { 
     271                                resetTimedCommandFifo(); 
    264272                        } 
    265273                } 
     
    324332        } 
    325333 
     334        //-------------------------------------------------------------------- 
     335        void Script::onStartScript() 
     336        { 
     337                // reset the script, so it can run  
     338                resetCommandFifo(); 
     339                resetTimedCommandFifo(); 
     340        } 
     341 
    326342        //---------------------------------------------------------------------------------- 
    327343        bool Script::reset() 
Note: See TracChangeset for help on using the changeset viewer.