Changeset 23 for nrEngine/include


Ignore:
Timestamp:
01/21/07 11:02:48 (14 years ago)
Author:
art
Message:
 
Location:
nrEngine/include
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • nrEngine/include/Clock.h

    r22 r23  
    2525#include "ITask.h" 
    2626#include "TimeSourceVirtual.h" 
     27#include "ScriptEngine.h" 
    2728 
    2829namespace nrEngine{ 
     
    7677                SharedPtr<TimeSource> getTimeSource() { return timeSource; } 
    7778                 
    78                  
     79                /** 
     80                 * This method will be called by the kernel to start the clock. It is called 
     81                 * when clock is added to the kernel pipeline. 
     82                 **/ 
     83                Result onStartTask(); 
     84 
    7985                /** 
    8086                * Updates the clock task by getting time values and calculating of 
     
    221227                void setSyncInterval(uint32 milliseconds); 
    222228                 
     229                /** 
     230                 * Reset the clock. The clock time will be resetted to the given time. 
     231                 * @param resetToTime Reset the clock to the given time value 
     232                 * @param resetAllObservers if true all registered obseervers would be also resetted 
     233                 **/ 
     234                void reset(float64 resetToTime = 0.0f, bool resetAllObservers = false); 
     235                 
     236                /** 
     237                 * Script-Function to reset the clock. You can specify in parameters if all timers, which were 
     238                 * created before should be also reseted. 
     239                 **/ 
     240                ScriptFunctionDef(scriptResetClock); 
     241 
     242 
    223243        private: 
    224244 
     
    241261                typedef ::std::vector< SharedPtr<ITimeObserver> > ObserverList; 
    242262                ::std::map < ::std::string, int32>      observerIDList; 
    243                 ObserverList                                            observers; 
     263                ObserverList                            observers; 
    244264                 
    245265                // frame filtering 
    246266                ::std::deque<float64>   frameDurationHistory; 
    247                 float64                                 frameDefaultTime; 
    248                 int32                                   frameFilteringWindow; 
     267                float64                 frameDefaultTime; 
     268                int32                   frameFilteringWindow; 
    249269                 
    250270                // time source 
  • nrEngine/include/IScript.h

    r1 r23  
    269269                        virtual Result unloadRes() {return OK;} 
    270270                         
     271                        //! Check if script should only run once  
     272                        bool shouldRunOnce() const { return mbRunOnce; } 
     273                         
     274                        //! Should the script run only once (no loop) 
     275                        void setRunOnce(bool b) { mbRunOnce = b; } 
     276                          
     277                        /** 
     278                         * This method will be called to check from base class to  
     279                         * check if run completes. If derived class returns false,  
     280                         * so script will be removed from the kernel  
     281                         **/ 
     282                        virtual bool hasCommands() = 0; 
     283                         
    271284                private: 
    272285 
     286                        //! Should this script run once  
     287                        bool mbRunOnce; 
     288                         
    273289                        //! Store here error messages 
    274290                        std::list<std::string> mErrorMsg; 
     
    305321                Result run(); 
    306322 
     323        private: 
     324                bool hasCommands() { return false; } 
    307325        }; 
    308326         
  • nrEngine/include/ITimeObserver.h

    r1 r23  
    5555                int32 getObserverID(){return _observerID; } 
    5656                 
     57                /** 
     58                 * Call this method to reset an observer. 
     59                 * Each observer should know how to reset himself 
     60                 * @param resetToTime reset the observer to this starting time 
     61                 **/ 
     62                virtual void resetObserver(float64 resetToTime = 0.0f) = 0; 
    5763                 
    5864        private: 
  • nrEngine/include/Script.h

    r1 r23  
    115115                private: 
    116116 
     117                        //! Return true if pipeline is full 
     118                        bool hasCommands(); 
     119 
    117120                        //! Derived from IScript 
    118121                        Result run(); 
  • nrEngine/include/ScriptEngine.h

    r1 r23  
    197197                        ScriptFunctionDef(scriptLoad); 
    198198                        ScriptFunctionDef(scriptRun); 
     199                        ScriptFunctionDef(scriptLoadAndRun); 
    199200                        ScriptFunctionDef(scriptCall); 
    200201                         
  • nrEngine/include/Timer.h

    r20 r23  
    2222#include "Clock.h" 
    2323#include "ITimeObserver.h" 
     24#include "Log.h" 
    2425 
    2526namespace nrEngine{ 
     
    108109                * Reset the timer, so it start count the time from the value you define 
    109110                **/ 
    110                 NR_FORCEINLINE void resetTimer(float64 startValue = 0.0f); 
     111                NR_FORCEINLINE void resetObserver(float64 resetToTime = 0.0f); 
    111112                 
    112113        private: 
     
    129130         
    130131 
    131 //---------------------------------------------------------------------------------- 
    132 NR_FORCEINLINE void Timer::resetTimer(float64 startValue) 
    133 { 
    134         _currentTime = startValue; 
    135 } 
     132        //---------------------------------------------------------------------------------- 
     133        NR_FORCEINLINE void Timer::resetObserver(float64 resetToTime) 
     134        { 
     135                _currentTime = resetToTime; 
     136                NR_Log(Log::LOG_ENGINE, "Timer: Reset timer %d to %f", resetToTime, getObserverID()); 
     137        } 
    136138 
    137139         
Note: See TracChangeset for help on using the changeset viewer.