Ignore:
Timestamp:
03/30/07 23:52:31 (12 years ago)
Author:
art
Message:

nrScript: using of subscripts is now possible

File:
1 edited

Legend:

Unmodified
Added
Removed
  • nrEngine/include/IScript.h

    r24 r27  
    6767 * does provide this functionality. But at now there is no other way to do this. 
    6868 **/ 
    69   
     69 
    7070namespace nrEngine{ 
    71          
     71 
    7272 
    7373        //! Script interface for any kind of script languages 
     
    9191        * Passed parameters will be automaticaly removed from the waiting list as 
    9292        * soon as the function from the script will be called. 
    93         *  
     93        * 
    9494        * @see IResource, ITask 
    9595        * \ingroup script 
     
    104104                         **/ 
    105105                        NR_FORCEINLINE const std::string& getContent() const { return mContent; } 
    106                          
     106 
    107107                        /** 
    108108                        * Load a script from string. The given string should contain 
     
    114114                        **/ 
    115115                        virtual Result loadFromString(const std::string& str) = 0; 
    116          
     116 
    117117                        /** 
    118118                        * Get short description of the last error. 
    119119                        **/ 
    120120                        std::string popLastError(); 
    121          
     121 
    122122                        /** 
    123123                         * Execute the script. The script will be executed completely, before 
     
    128128                         *                      once. If you specify false, so run() will be called in each 
    129129                         *                      kernel cycle. 
    130                          *  
     130                         * 
    131131                         * NOTE: If you want to execute script immidiately, use forceExecute() instead 
    132132                         **/ 
     
    164164                         **/ 
    165165                        ScriptResult call(const std::string& funcName); 
    166   
     166 
    167167                        /** 
    168168                         * User application can also specify certain arguments for functions 
     
    190190                         **/ 
    191191                        uint32 setArguments(const std::string& funcName, const ArgumentList& args); 
    192                          
     192 
    193193                        /** 
    194194                         * Derived class should use this function to pop the first parameter 
     
    241241                         **/ 
    242242                        void pushErrorMessage(const std::string& msg); 
    243                          
     243 
    244244                        /** 
    245245                         * Initialize the script interface 
     
    253253                         **/ 
    254254                        virtual ~IScript(); 
    255                          
     255 
    256256                        /** 
    257257                         * Run one step from the script. This method will be automaticaly 
     
    264264                         **/ 
    265265                        Result onStartTask(); 
    266                          
     266 
    267267                        //! Here we store the whole script as a string 
    268268                        std::string mContent; 
    269                                                                          
     269 
    270270                        /** 
    271271                         * Bypass the IResource::unloadRes() function, so that derived 
     
    273273                         **/ 
    274274                        virtual Result unloadRes() {return OK;} 
    275                          
    276                         //! Check if script should only run once  
     275 
     276                        //! Check if script should only run once 
    277277                        bool shouldRunOnce() const { return mbRunOnce; } 
    278                          
     278 
    279279                        //! Should the script run only once (no loop) 
    280280                        void setRunOnce(bool b) { mbRunOnce = b; } 
    281                           
    282                         /** 
    283                          * This method will be called to check from base class to  
    284                          * check if run completes. If derived class returns false,  
    285                          * so script will be removed from the kernel  
     281 
     282                        /** 
     283                         * This method will be called to check from base class to 
     284                         * check if run completes. If derived class returns false, 
     285                         * so script will be removed from the kernel 
    286286                         **/ 
    287287                        virtual bool hasCommands() = 0; 
    288                          
     288 
    289289                        /** 
    290290                         * This method will be called if a script is gonna be executed. 
     
    292292                         **/ 
    293293                        virtual void onStartScript() {}; 
    294                          
     294 
     295                        /** 
     296                         * Call this method to manually specify, that a script is 
     297                         * loaded and can be executed. The method should be called 
     298                         * from loadFromString() method by derived classes 
     299                         **/ 
     300                        void notifyLoaded(); 
     301 
    295302                private: 
    296303 
    297                         //! Should this script run once  
     304                        //! Should this script run once 
    298305                        bool mbRunOnce; 
    299                          
     306 
    300307                        //! Store here error messages 
    301308                        std::list<std::string> mErrorMsg; 
    302                          
     309 
    303310                        typedef std::map<std::string, ArgumentList>             ArgumentDatabase; 
    304                          
     311 
    305312                        //! Notify if the resource was reloaded 
    306313                        void notifyResReloaded(); 
     
    311318        }; 
    312319 
    313          
     320 
    314321        //! Empty script object that just do nothing(idle). 
    315322        /** 
     
    319326        class _NRExport EmptyScript : public IScript{ 
    320327        public: 
    321          
     328 
    322329                //! Constructor does not call anything 
    323                 EmptyScript(); 
    324                  
     330                EmptyScript(const std::string& typeName); 
     331 
    325332                //! Release used memory 
    326333                ~EmptyScript(); 
     
    335342                bool hasCommands() { return false; } 
    336343        }; 
    337          
     344 
    338345}; 
    339346 
Note: See TracChangeset for help on using the changeset viewer.