\hypertarget{class_ogre_1_1_script_loader}{}\section{Ogre\+:\+:Script\+Loader Class Reference}
\label{class_ogre_1_1_script_loader}\index{Ogre\+::\+Script\+Loader@{Ogre\+::\+Script\+Loader}}


Abstract class defining the interface used by classes which wish to perform script loading to define instances of whatever they manage.  




{\ttfamily \#include $<$Ogre\+Script\+Loader.\+h$>$}



Inheritance diagram for Ogre\+:\+:Script\+Loader\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_ogre_1_1_script_loader__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \hyperlink{class_ogre_1_1_script_loader_ad7758f66fa9246639426f3044478f709}{$\sim$\+Script\+Loader} ()
\item 
virtual \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_script_loader_a12af311e1399d48c02c57bb545b50497}{get\+Loading\+Order} (void) const =0
\begin{DoxyCompactList}\small\item\em Gets the relative loading order of scripts of this type. \end{DoxyCompactList}\item 
virtual const \hyperlink{group___general_ga783e5227595f351519627abfb740ec85}{String\+Vector} \& \hyperlink{class_ogre_1_1_script_loader_a78189fd757a233f34d5d272f76f6abf6}{get\+Script\+Patterns} (void) const =0
\begin{DoxyCompactList}\small\item\em Gets the file patterns which should be used to find scripts for this class. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_script_loader_a6bd73a15503c5cb29ed8b7e264e12293}{parse\+Script} (\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&stream, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&group\+Name)=0
\begin{DoxyCompactList}\small\item\em Parse a script file. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Abstract class defining the interface used by classes which wish to perform script loading to define instances of whatever they manage. 

\begin{DoxyRemark}{Remarks}
Typically classes of this type wish to either parse individual script files on demand, or be called with a group of files matching a certain pattern at the appropriate time. Normally this will coincide with resource loading, although the script use does not necessarily have to be a \hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager} (which subclasses from this class), it may be simply a script loader which manages non-\/resources but needs to be synchronised at the same loading points. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
Subclasses should add themselves to the \hyperlink{class_ogre_1_1_resource_group_manager}{Resource\+Group\+Manager} as a script loader if they wish to be called at the point a resource group is loaded, at which point the parse\+Script method will be called with each file which matches a the pattern returned from get\+Script\+Patterns. 
\end{DoxyParagraph}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_script_loader_ad7758f66fa9246639426f3044478f709}\label{class_ogre_1_1_script_loader_ad7758f66fa9246639426f3044478f709}} 
\index{Ogre\+::\+Script\+Loader@{Ogre\+::\+Script\+Loader}!````~Script\+Loader@{$\sim$\+Script\+Loader}}
\index{````~Script\+Loader@{$\sim$\+Script\+Loader}!Ogre\+::\+Script\+Loader@{Ogre\+::\+Script\+Loader}}
\subsubsection{\texorpdfstring{$\sim$\+Script\+Loader()}{~ScriptLoader()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Script\+Loader\+::$\sim$\+Script\+Loader (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_script_loader_a78189fd757a233f34d5d272f76f6abf6}\label{class_ogre_1_1_script_loader_a78189fd757a233f34d5d272f76f6abf6}} 
\index{Ogre\+::\+Script\+Loader@{Ogre\+::\+Script\+Loader}!get\+Script\+Patterns@{get\+Script\+Patterns}}
\index{get\+Script\+Patterns@{get\+Script\+Patterns}!Ogre\+::\+Script\+Loader@{Ogre\+::\+Script\+Loader}}
\subsubsection{\texorpdfstring{get\+Script\+Patterns()}{getScriptPatterns()}}
{\footnotesize\ttfamily virtual const \hyperlink{group___general_ga783e5227595f351519627abfb740ec85}{String\+Vector}\& Ogre\+::\+Script\+Loader\+::get\+Script\+Patterns (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets the file patterns which should be used to find scripts for this class. 

\begin{DoxyRemark}{Remarks}
This method is called when a resource group is loaded if you use \hyperlink{class_ogre_1_1_resource_group_manager_aafd69be90e1774f2a4b34c4e6dcaa38a}{Resource\+Group\+Manager\+::\+\_\+register\+Script\+Loader}. 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
A list of file patterns, in the order they should be searched in. 
\end{DoxyReturn}


Implemented in \hyperlink{class_ogre_1_1_cg_fx_script_loader_af6a6df38b68d59f327ba875b45c6780e}{Ogre\+::\+Cg\+Fx\+Script\+Loader}, \hyperlink{class_ogre_1_1_script_compiler_manager_a919f0581d6868e7fc0eaff5358e2d9f8}{Ogre\+::\+Script\+Compiler\+Manager}, \hyperlink{class_ogre_1_1_resource_manager_a356d42e699011a2d86770c9b3ee55e6d}{Ogre\+::\+Resource\+Manager}, \hyperlink{class_ogre_1_1_particle_system_manager_a1a8ed52d167c5d67f84592ac3c2f8a01}{Ogre\+::\+Particle\+System\+Manager}, \hyperlink{class_ogre_1_1_overlay_manager_ae061c863d6304494157218125b484cc4}{Ogre\+::\+Overlay\+Manager}, and \hyperlink{class_ogre_1_1_quake3_shader_manager_a720714f467d34f5f24179fc2efad36fe}{Ogre\+::\+Quake3\+Shader\+Manager}.

\mbox{\Hypertarget{class_ogre_1_1_script_loader_a6bd73a15503c5cb29ed8b7e264e12293}\label{class_ogre_1_1_script_loader_a6bd73a15503c5cb29ed8b7e264e12293}} 
\index{Ogre\+::\+Script\+Loader@{Ogre\+::\+Script\+Loader}!parse\+Script@{parse\+Script}}
\index{parse\+Script@{parse\+Script}!Ogre\+::\+Script\+Loader@{Ogre\+::\+Script\+Loader}}
\subsubsection{\texorpdfstring{parse\+Script()}{parseScript()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Script\+Loader\+::parse\+Script (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&}]{stream,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{group\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Parse a script file. 


\begin{DoxyParams}{Parameters}
{\em stream} & Weak reference to a data stream which is the source of the script \\
\hline
{\em group\+Name} & The name of a resource group which should be used if any resources are created during the parse of this script. \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{class_ogre_1_1_cg_fx_script_loader_a8cc3006cecef12aceeeefa7733ebc541}{Ogre\+::\+Cg\+Fx\+Script\+Loader}, \hyperlink{class_ogre_1_1_script_compiler_manager_ab51871b7c9b5449f24bdd2ccb280b843}{Ogre\+::\+Script\+Compiler\+Manager}, \hyperlink{class_ogre_1_1_resource_manager_a266d959fecaf0568270acfbf024e0b4b}{Ogre\+::\+Resource\+Manager}, \hyperlink{class_ogre_1_1_particle_system_manager_a6f16f9bc2b124c7d051bee9c0b0a5ff0}{Ogre\+::\+Particle\+System\+Manager}, \hyperlink{class_ogre_1_1_material_manager_a7e3d13469f80b5814e20f9f959384119}{Ogre\+::\+Material\+Manager}, \hyperlink{class_ogre_1_1_overlay_manager_aceba4bfe36019ec756be252be387defc}{Ogre\+::\+Overlay\+Manager}, \hyperlink{class_ogre_1_1_compositor_manager_a350a7cda7c7e63fa6d7243133b24c3f1}{Ogre\+::\+Compositor\+Manager}, \hyperlink{class_ogre_1_1_quake3_shader_manager_a7beb32399a0e8b0395024725ca4fbfcd}{Ogre\+::\+Quake3\+Shader\+Manager}, and \hyperlink{class_ogre_1_1_font_manager_ada6af0d588fd5c17f0f8f7904fa657a8}{Ogre\+::\+Font\+Manager}.

\mbox{\Hypertarget{class_ogre_1_1_script_loader_a12af311e1399d48c02c57bb545b50497}\label{class_ogre_1_1_script_loader_a12af311e1399d48c02c57bb545b50497}} 
\index{Ogre\+::\+Script\+Loader@{Ogre\+::\+Script\+Loader}!get\+Loading\+Order@{get\+Loading\+Order}}
\index{get\+Loading\+Order@{get\+Loading\+Order}!Ogre\+::\+Script\+Loader@{Ogre\+::\+Script\+Loader}}
\subsubsection{\texorpdfstring{get\+Loading\+Order()}{getLoadingOrder()}}
{\footnotesize\ttfamily virtual \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Script\+Loader\+::get\+Loading\+Order (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Gets the relative loading order of scripts of this type. 

\begin{DoxyRemark}{Remarks}
There are dependencies between some kinds of scripts, and to enforce this all implementors of this interface must define a loading order. 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
A value representing the relative loading order of these scripts compared to other script users, where higher values load later. 
\end{DoxyReturn}


Implemented in \hyperlink{class_ogre_1_1_cg_fx_script_loader_a48bcf80ad0eabe9317777920b5d8d1a2}{Ogre\+::\+Cg\+Fx\+Script\+Loader}, \hyperlink{class_ogre_1_1_script_compiler_manager_aee0825a8523d66b86506fdcfd6b8349a}{Ogre\+::\+Script\+Compiler\+Manager}, \hyperlink{class_ogre_1_1_resource_manager_a3ae7c3ae5494fc088fa8a17e736fef6b}{Ogre\+::\+Resource\+Manager}, \hyperlink{class_ogre_1_1_particle_system_manager_ad20f774c66daf6c5194fd7656a95cd86}{Ogre\+::\+Particle\+System\+Manager}, \hyperlink{class_ogre_1_1_overlay_manager_a3ed238d301f586507ac958827fab17b1}{Ogre\+::\+Overlay\+Manager}, and \hyperlink{class_ogre_1_1_quake3_shader_manager_acac48222f4be26855091e87db3b215f1}{Ogre\+::\+Quake3\+Shader\+Manager}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_script_loader_8h}{Ogre\+Script\+Loader.\+h}\end{DoxyCompactItemize}
