classgameplay_1_1_script.html 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <title>Script Class Reference</title>
  7. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  8. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  9. <link href="custom.css" rel="stylesheet" type="text/css" />
  10. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  11. <script type="text/javascript" src="jquery.js"></script>
  12. <script type="text/javascript" src="search/search.js"></script>
  13. <script type="text/javascript">
  14. $(document).ready(function() { searchBox.OnSelectItem(0); });
  15. </script>
  16. </head>
  17. <body>
  18. <div id="top"><!-- do not remove this div! -->
  19. <table class="header" border="0">
  20. <tbody>
  21. <tr>
  22. <td id="logo"><a href="http://gameplay3d.org/"><img src="images/logo.png" alt="gameplay" border="0" height="64px"/></a></td>
  23. <td width="100%"/>
  24. <td><a href="http://gameplay3d.org/"><span class="button">overview</span></a></td><td width="12px"/>
  25. <td><a href="https://github.com/gameplay3d/GamePlay/wiki"><span class="button">wiki</span></a></td><td width="12px"/>
  26. <td><a href="http://gameplay3d.github.com/GamePlay/api/index.html"><span class="button">api&nbsp;reference</span></a></td><td width="12px"/>
  27. <td><a href="http://www.gameplay3d.org/forums"><span class="button">forums</span></a></td>
  28. <td><a href="https://github.com/gameplay3d/GamePlay"><span class="button">download</span></a></td>
  29. </tr>
  30. </tbody>
  31. </table>
  32. <!-- Generated by Doxygen 1.7.6.1 -->
  33. <script type="text/javascript">
  34. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  35. </script>
  36. <div id="navrow1" class="tabs">
  37. <ul class="tablist">
  38. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  39. <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
  40. <li>
  41. <div id="MSearchBox" class="MSearchBoxInactive">
  42. <span class="left">
  43. <img id="MSearchSelect" src="search/mag_sel.png"
  44. onmouseover="return searchBox.OnSearchSelectShow()"
  45. onmouseout="return searchBox.OnSearchSelectHide()"
  46. alt=""/>
  47. <input type="text" id="MSearchField" value="Search" accesskey="S"
  48. onfocus="searchBox.OnSearchFieldFocus(true)"
  49. onblur="searchBox.OnSearchFieldFocus(false)"
  50. onkeyup="searchBox.OnSearchFieldChange(event)"/>
  51. </span><span class="right">
  52. <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
  53. </span>
  54. </div>
  55. </li>
  56. </ul>
  57. </div>
  58. <div id="navrow2" class="tabs2">
  59. <ul class="tablist">
  60. <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
  61. <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
  62. <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
  63. <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
  64. </ul>
  65. </div>
  66. <!-- window showing the filter options -->
  67. <div id="MSearchSelectWindow"
  68. onmouseover="return searchBox.OnSearchSelectShow()"
  69. onmouseout="return searchBox.OnSearchSelectHide()"
  70. onkeydown="return searchBox.OnSearchSelectKey(event)">
  71. <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>
  72. <!-- iframe showing the search results (closed by default) -->
  73. <div id="MSearchResultsWindow">
  74. <iframe src="javascript:void(0)" frameborder="0"
  75. name="MSearchResults" id="MSearchResults">
  76. </iframe>
  77. </div>
  78. <div id="nav-path" class="navpath">
  79. <ul>
  80. <li class="navelem"><b>gameplay</b> </li>
  81. <li class="navelem"><a class="el" href="classgameplay_1_1_script.html">Script</a> </li>
  82. </ul>
  83. </div>
  84. </div>
  85. <div class="header">
  86. <div class="summary">
  87. <a href="#pub-types">Public Types</a> &#124;
  88. <a href="#pub-methods">Public Member Functions</a> </div>
  89. <div class="headertitle">
  90. <div class="title">gameplay::Script Class Reference</div> </div>
  91. </div><!--header-->
  92. <div class="contents">
  93. <!-- doxytag: class="gameplay::Script" --><!-- doxytag: inherits="gameplay::Ref" -->
  94. <p><code>#include &lt;Script.h&gt;</code></p>
  95. <div class="dynheader">
  96. Inheritance diagram for gameplay::Script:</div>
  97. <div class="dyncontent">
  98. <div class="center">
  99. <img src="classgameplay_1_1_script.png" usemap="#gameplay::Script_map" alt=""/>
  100. <map id="gameplay::Script_map" name="gameplay::Script_map">
  101. <area href="classgameplay_1_1_ref.html" alt="gameplay::Ref" shape="rect" coords="0,0,105,24"/>
  102. </map>
  103. </div></div>
  104. <p><a href="classgameplay_1_1_script-members.html">List of all members.</a></p>
  105. <table class="memberdecls">
  106. <tr><td colspan="2"><h2><a name="pub-types"></a>
  107. Public Types</h2></td></tr>
  108. <tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_script.html#a8b296af219762d7fa7f54a820947e7dc">Scope</a> { <a class="el" href="classgameplay_1_1_script.html#a8b296af219762d7fa7f54a820947e7dcaab4c13774b342e27d113c28ede53d211">GLOBAL</a>,
  109. <a class="el" href="classgameplay_1_1_script.html#a8b296af219762d7fa7f54a820947e7dcadcb485553dc4543c13377f87d7049011">PROTECTED</a>
  110. }</td></tr>
  111. <tr><td colspan="2"><h2><a name="pub-methods"></a>
  112. Public Member Functions</h2></td></tr>
  113. <tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_script.html#a04fb324f5e1516e266878eb5cff4d216">getPath</a> () const </td></tr>
  114. <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgameplay_1_1_script.html#a8b296af219762d7fa7f54a820947e7dc">Scope</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_script.html#ac4b2c54ce65347f65504b8ce30f684e1">getScope</a> () const </td></tr>
  115. <tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_script.html#ae3490b858b389b8105751cff5461c2f1">functionExists</a> (const char *name) const </td></tr>
  116. <tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_script.html#aa77a095f2379c541410f394cfc8eaff9">reload</a> ()</td></tr>
  117. </table>
  118. <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
  119. <div class="textblock"><p>Represents a script that has been loaded by the scripting system. </p>
  120. </div><hr/><h2>Member Enumeration Documentation</h2>
  121. <a class="anchor" id="a8b296af219762d7fa7f54a820947e7dc"></a><!-- doxytag: member="gameplay::Script::Scope" ref="a8b296af219762d7fa7f54a820947e7dc" args="" -->
  122. <div class="memitem">
  123. <div class="memproto">
  124. <table class="memname">
  125. <tr>
  126. <td class="memname">enum <a class="el" href="classgameplay_1_1_script.html#a8b296af219762d7fa7f54a820947e7dc">gameplay::Script::Scope</a></td>
  127. </tr>
  128. </table>
  129. </div>
  130. <div class="memdoc">
  131. <p>Defines the scope of a script environment. </p>
  132. <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
  133. <tr><td valign="top"><em><a class="anchor" id="a8b296af219762d7fa7f54a820947e7dcaab4c13774b342e27d113c28ede53d211"></a><!-- doxytag: member="GLOBAL" ref="a8b296af219762d7fa7f54a820947e7dcaab4c13774b342e27d113c28ede53d211" args="" -->GLOBAL</em>&nbsp;</td><td>
  134. <p>Global scripts execute in a single shared environment that is accessible to all other scripts in the system. Global scripts can use code from other global scripts and other scripts can use code from a global script.</p>
  135. <p>Scripts that execute in the global environment must be careful to not override other variables or functions that already exist in the global environment (unless this is intended). Because of this, script naming conventions and the use of unique namespaces is important to prevent naming collisions with other global code. </p>
  136. </td></tr>
  137. <tr><td valign="top"><em><a class="anchor" id="a8b296af219762d7fa7f54a820947e7dcadcb485553dc4543c13377f87d7049011"></a><!-- doxytag: member="PROTECTED" ref="a8b296af219762d7fa7f54a820947e7dcadcb485553dc4543c13377f87d7049011" args="" -->PROTECTED</em>&nbsp;</td><td>
  138. <p>Protected scripts execute in a more limited sandbox environment that by default does not allow other scripts to see their variables or functions. Variables and functions in a protected script can be named the same as those in other scripts without collision issues.</p>
  139. <p>Although global code cannot access protected scripts, protected scripts can acceess global code. Similarly, protected scripts can expose variables and functions to the global environment using explicit notation, although the same precautions noted for the GLOBAL scope should be used when doing this, to prevent naming collisions.</p>
  140. <p>Protected scripts are best used when associated with a single game object, since these scripts are not cached the same way global scripts are. Each time a protected script is loaded, a new instance of the script is loaded. This allows protected scripts to store per-instance state, since it will not be shared by multiple instances.</p>
  141. <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classgameplay_1_1_script_target.html">ScriptTarget</a> </dd></dl>
  142. </td></tr>
  143. </table>
  144. </dd>
  145. </dl>
  146. </div>
  147. </div>
  148. <hr/><h2>Member Function Documentation</h2>
  149. <a class="anchor" id="ae3490b858b389b8105751cff5461c2f1"></a><!-- doxytag: member="gameplay::Script::functionExists" ref="ae3490b858b389b8105751cff5461c2f1" args="(const char *name) const " -->
  150. <div class="memitem">
  151. <div class="memproto">
  152. <table class="memname">
  153. <tr>
  154. <td class="memname">bool <a class="el" href="classgameplay_1_1_script.html#ae3490b858b389b8105751cff5461c2f1">gameplay::Script::functionExists</a> </td>
  155. <td>(</td>
  156. <td class="paramtype">const char *&#160;</td>
  157. <td class="paramname"><em>name</em></td><td>)</td>
  158. <td> const</td>
  159. </tr>
  160. </table>
  161. </div>
  162. <div class="memdoc">
  163. <p>Determines if a function with the given name exists in the script.</p>
  164. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  165. <table class="params">
  166. <tr><td class="paramname">name</td><td>Name of the function.</td></tr>
  167. </table>
  168. </dd>
  169. </dl>
  170. <dl class="return"><dt><b>Returns:</b></dt><dd>True if the function exists, false otherwise. </dd></dl>
  171. </div>
  172. </div>
  173. <a class="anchor" id="a04fb324f5e1516e266878eb5cff4d216"></a><!-- doxytag: member="gameplay::Script::getPath" ref="a04fb324f5e1516e266878eb5cff4d216" args="() const " -->
  174. <div class="memitem">
  175. <div class="memproto">
  176. <table class="memname">
  177. <tr>
  178. <td class="memname">const char* <a class="el" href="classgameplay_1_1_script.html#a04fb324f5e1516e266878eb5cff4d216">gameplay::Script::getPath</a> </td>
  179. <td>(</td>
  180. <td class="paramname"></td><td>)</td>
  181. <td> const</td>
  182. </tr>
  183. </table>
  184. </div>
  185. <div class="memdoc">
  186. <p>Returns the path from which this <a class="el" href="classgameplay_1_1_script.html">Script</a> was loaded.</p>
  187. <dl class="return"><dt><b>Returns:</b></dt><dd>The script's path. </dd></dl>
  188. </div>
  189. </div>
  190. <a class="anchor" id="ac4b2c54ce65347f65504b8ce30f684e1"></a><!-- doxytag: member="gameplay::Script::getScope" ref="ac4b2c54ce65347f65504b8ce30f684e1" args="() const " -->
  191. <div class="memitem">
  192. <div class="memproto">
  193. <table class="memname">
  194. <tr>
  195. <td class="memname"><a class="el" href="classgameplay_1_1_script.html#a8b296af219762d7fa7f54a820947e7dc">Scope</a> <a class="el" href="classgameplay_1_1_script.html#ac4b2c54ce65347f65504b8ce30f684e1">gameplay::Script::getScope</a> </td>
  196. <td>(</td>
  197. <td class="paramname"></td><td>)</td>
  198. <td> const</td>
  199. </tr>
  200. </table>
  201. </div>
  202. <div class="memdoc">
  203. <p>Returns the scope of this script.</p>
  204. <dl class="return"><dt><b>Returns:</b></dt><dd>The scope of this script. </dd></dl>
  205. </div>
  206. </div>
  207. <a class="anchor" id="aa77a095f2379c541410f394cfc8eaff9"></a><!-- doxytag: member="gameplay::Script::reload" ref="aa77a095f2379c541410f394cfc8eaff9" args="()" -->
  208. <div class="memitem">
  209. <div class="memproto">
  210. <table class="memname">
  211. <tr>
  212. <td class="memname">bool <a class="el" href="classgameplay_1_1_script.html#aa77a095f2379c541410f394cfc8eaff9">gameplay::Script::reload</a> </td>
  213. <td>(</td>
  214. <td class="paramname"></td><td>)</td>
  215. <td></td>
  216. </tr>
  217. </table>
  218. </div>
  219. <div class="memdoc">
  220. <p>Reloads this script.</p>
  221. <p>The code in the script will be reloaded and any functions and variables will be overwritten into the script's envrionment.</p>
  222. <p>If the script is GLOBAL in scope, it will simply be re-run, replacing any existing global variables and functions. If the script has changed, any previous variables or functions that do not exist in the updated script will remain in the global environment.</p>
  223. <dl class="return"><dt><b>Returns:</b></dt><dd>True if the script is successfully reloaded, false otherwise. </dd></dl>
  224. </div>
  225. </div>
  226. </div><!-- contents -->
  227. <!-- window showing the filter options -->
  228. <div id="MSearchSelectWindow"
  229. onmouseover="return searchBox.OnSearchSelectShow()"
  230. onmouseout="return searchBox.OnSearchSelectHide()"
  231. onkeydown="return searchBox.OnSearchSelectKey(event)">
  232. <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>
  233. <!-- iframe showing the search results (closed by default) -->
  234. <div id="MSearchResultsWindow">
  235. <iframe src="javascript:void(0)" frameborder="0"
  236. name="MSearchResults" id="MSearchResults">
  237. </iframe>
  238. </div>
  239. <hr class="footer"/><address class="footer"><small>
  240. Generated on Sat Jan 24 2015 15:29:44 for gameplay by &#160;<a href="http://www.doxygen.org/index.html">
  241. <img class="footer" src="doxygen.png" alt="doxygen"/>
  242. </a> 1.7.6.1
  243. </small></address>
  244. </body>
  245. </html>