class_sim_event.html 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=11"/>
  6. <meta name="generator" content="Doxygen 1.9.8"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>Torque2D Reference: SimEvent Class Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="search/searchdata.js"></script>
  14. <script type="text/javascript" src="search/search.js"></script>
  15. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  16. <link href="t2d-stylesheet-extra.css" rel="stylesheet" type="text/css"/>
  17. </head>
  18. <body>
  19. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  20. <div id="titlearea">
  21. <table cellspacing="0" cellpadding="0">
  22. <tbody>
  23. <tr id="projectrow">
  24. <td id="projectalign">
  25. <div id="projectname">Torque2D Reference
  26. </div>
  27. </td>
  28. </tr>
  29. </tbody>
  30. </table>
  31. </div>
  32. <!-- end header part -->
  33. <!-- Generated by Doxygen 1.9.8 -->
  34. <script type="text/javascript">
  35. /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  36. var searchBox = new SearchBox("searchBox", "search/",'.html');
  37. /* @license-end */
  38. </script>
  39. <script type="text/javascript" src="menudata.js"></script>
  40. <script type="text/javascript" src="menu.js"></script>
  41. <script type="text/javascript">
  42. /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  43. $(function() {
  44. initMenu('',true,false,'search.php','Search');
  45. $(document).ready(function() { init_search(); });
  46. });
  47. /* @license-end */
  48. </script>
  49. <div id="main-nav"></div>
  50. <!-- window showing the filter options -->
  51. <div id="MSearchSelectWindow"
  52. onmouseover="return searchBox.OnSearchSelectShow()"
  53. onmouseout="return searchBox.OnSearchSelectHide()"
  54. onkeydown="return searchBox.OnSearchSelectKey(event)">
  55. </div>
  56. <!-- iframe showing the search results (closed by default) -->
  57. <div id="MSearchResultsWindow">
  58. <div id="MSearchResults">
  59. <div class="SRPage">
  60. <div id="SRIndex">
  61. <div id="SRResults"></div>
  62. <div class="SRStatus" id="Loading">Loading...</div>
  63. <div class="SRStatus" id="Searching">Searching...</div>
  64. <div class="SRStatus" id="NoMatches">No Matches</div>
  65. </div>
  66. </div>
  67. </div>
  68. </div>
  69. </div><!-- top -->
  70. <div class="header">
  71. <div class="summary">
  72. <a href="#pub-methods">Public Member Functions</a> &#124;
  73. <a href="#pub-attribs">Public Attributes</a> &#124;
  74. <a href="class_sim_event-members.html">List of all members</a> </div>
  75. <div class="headertitle"><div class="title">SimEvent Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
  76. </div><!--header-->
  77. <div class="contents">
  78. <p><code>#include &lt;simEvent.h&gt;</code></p>
  79. <div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  80. <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for SimEvent:</div>
  81. <div id="dynsection-0-summary" class="dynsummary" style="display:block;">
  82. </div>
  83. <div id="dynsection-0-content" class="dyncontent" style="display:none;">
  84. <div class="center">
  85. <img src="class_sim_event.png" usemap="#SimEvent_map" alt=""/>
  86. <map id="SimEvent_map" name="SimEvent_map">
  87. <area href="class_behavior_component_raise_event.html" alt="BehaviorComponentRaiseEvent" shape="rect" coords="199,56,388,80"/>
  88. <area href="class_con_1_1_con_prinf_threaded_event.html" alt="ConPrinfThreadedEvent" shape="rect" coords="199,112,388,136"/>
  89. <area href="class_heartbeat_event.html" alt="HeartbeatEvent" shape="rect" coords="199,168,388,192"/>
  90. <area href="class_net_delay_event.html" alt="NetDelayEvent" shape="rect" coords="199,224,388,248"/>
  91. <area href="class_process_master_query_event.html" alt="ProcessMasterQueryEvent" shape="rect" coords="199,280,388,304"/>
  92. <area href="class_process_packet_event.html" alt="ProcessPacketEvent" shape="rect" coords="199,336,388,360"/>
  93. <area href="class_process_ping_event.html" alt="ProcessPingEvent" shape="rect" coords="199,392,388,416"/>
  94. <area href="class_scene_object_rotate_to_event.html" alt="SceneObjectRotateToEvent" shape="rect" coords="199,448,388,472"/>
  95. <area href="class_sim_console_event.html" alt="SimConsoleEvent" shape="rect" coords="199,504,388,528"/>
  96. <area href="class_sim_object_timer_event.html" alt="SimObjectTimerEvent" shape="rect" coords="199,560,388,584"/>
  97. </map>
  98. </div></div>
  99. <table class="memberdecls">
  100. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
  101. Public Member Functions</h2></td></tr>
  102. <tr class="memitem:ad00bbc4a9f34d9f78f6494b9d2a11d32" id="r_ad00bbc4a9f34d9f78f6494b9d2a11d32"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sim_event.html#ad00bbc4a9f34d9f78f6494b9d2a11d32">SimEvent</a> ()</td></tr>
  103. <tr class="separator:ad00bbc4a9f34d9f78f6494b9d2a11d32"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. <tr class="memitem:a755c3dee95a3a5eaf55d0644e0aa152e" id="r_a755c3dee95a3a5eaf55d0644e0aa152e"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sim_event.html#a755c3dee95a3a5eaf55d0644e0aa152e">~SimEvent</a> ()</td></tr>
  105. <tr class="separator:a755c3dee95a3a5eaf55d0644e0aa152e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  106. <tr class="memitem:a5898b9095c9863604fcd32747fc988be" id="r_a5898b9095c9863604fcd32747fc988be"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sim_event.html#a5898b9095c9863604fcd32747fc988be">process</a> (<a class="el" href="class_sim_object.html">SimObject</a> *object)=0</td></tr>
  107. <tr class="separator:a5898b9095c9863604fcd32747fc988be"><td class="memSeparator" colspan="2">&#160;</td></tr>
  108. </table><table class="memberdecls">
  109. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
  110. Public Attributes</h2></td></tr>
  111. <tr class="memitem:a7dfde9d929ac106599ccdf14b181756d" id="r_a7dfde9d929ac106599ccdf14b181756d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_sim_event.html">SimEvent</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sim_event.html#a7dfde9d929ac106599ccdf14b181756d">nextEvent</a></td></tr>
  112. <tr class="memdesc:a7dfde9d929ac106599ccdf14b181756d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Linked list details - pointer to next item in the list. <br /></td></tr>
  113. <tr class="separator:a7dfde9d929ac106599ccdf14b181756d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  114. <tr class="memitem:a658c63d9f75be037991cd739dab7b445" id="r_a658c63d9f75be037991cd739dab7b445"><td class="memItemLeft" align="right" valign="top">SimTime&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sim_event.html#a658c63d9f75be037991cd739dab7b445">startTime</a></td></tr>
  115. <tr class="memdesc:a658c63d9f75be037991cd739dab7b445"><td class="mdescLeft">&#160;</td><td class="mdescRight">When the event was posted. <br /></td></tr>
  116. <tr class="separator:a658c63d9f75be037991cd739dab7b445"><td class="memSeparator" colspan="2">&#160;</td></tr>
  117. <tr class="memitem:a5993109c2472e2a9abedd1a23400f6a5" id="r_a5993109c2472e2a9abedd1a23400f6a5"><td class="memItemLeft" align="right" valign="top">SimTime&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sim_event.html#a5993109c2472e2a9abedd1a23400f6a5">time</a></td></tr>
  118. <tr class="memdesc:a5993109c2472e2a9abedd1a23400f6a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">When the event is scheduled to occur. <br /></td></tr>
  119. <tr class="separator:a5993109c2472e2a9abedd1a23400f6a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  120. <tr class="memitem:a5092acb84f5d9019e306137ac358f17d" id="r_a5092acb84f5d9019e306137ac358f17d"><td class="memItemLeft" align="right" valign="top">U32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sim_event.html#a5092acb84f5d9019e306137ac358f17d">sequenceCount</a></td></tr>
  121. <tr class="separator:a5092acb84f5d9019e306137ac358f17d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <tr class="memitem:af859306407b8598f2bfce9dd8e37a7e5" id="r_af859306407b8598f2bfce9dd8e37a7e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_sim_object.html">SimObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sim_event.html#af859306407b8598f2bfce9dd8e37a7e5">destObject</a></td></tr>
  123. <tr class="memdesc:af859306407b8598f2bfce9dd8e37a7e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Object on which this event will be applied. <br /></td></tr>
  124. <tr class="separator:af859306407b8598f2bfce9dd8e37a7e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. </table>
  126. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  127. <div class="textblock"><p>Represents a queued event in the sim.</p>
  128. <p><a class="el" href="namespace_sim.html">Sim</a> provides an event queue for your convenience, which can be used to schedule events. A few things which use this event queue: </p><pre class="fragment">- The scene lighting system. In order to keep the game
  129. responsive while scene lighting occurs, the lighting
  130. process is divided into little chunks. In implementation
  131. terms, there is a subclass of SimEvent called
  132. SceneLightingProcessEvent. The process method of this
  133. subclass calls into the lighting code, telling it to
  134. perform the next chunk of lighting calculations.
  135. - The schedule() console function uses a subclass of
  136. SimEvent called SimConsoleEvent to keep track of
  137. scheduled events.
  138. </pre> </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  139. <a id="ad00bbc4a9f34d9f78f6494b9d2a11d32" name="ad00bbc4a9f34d9f78f6494b9d2a11d32"></a>
  140. <h2 class="memtitle"><span class="permalink"><a href="#ad00bbc4a9f34d9f78f6494b9d2a11d32">&#9670;&#160;</a></span>SimEvent()</h2>
  141. <div class="memitem">
  142. <div class="memproto">
  143. <table class="mlabels">
  144. <tr>
  145. <td class="mlabels-left">
  146. <table class="memname">
  147. <tr>
  148. <td class="memname"><a class="el" href="class_sim_event.html">SimEvent</a> </td>
  149. <td>(</td>
  150. <td class="paramname"></td><td>)</td>
  151. <td></td>
  152. </tr>
  153. </table>
  154. </td>
  155. <td class="mlabels-right">
  156. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  157. </tr>
  158. </table>
  159. </div><div class="memdoc">
  160. </div>
  161. </div>
  162. <a id="a755c3dee95a3a5eaf55d0644e0aa152e" name="a755c3dee95a3a5eaf55d0644e0aa152e"></a>
  163. <h2 class="memtitle"><span class="permalink"><a href="#a755c3dee95a3a5eaf55d0644e0aa152e">&#9670;&#160;</a></span>~SimEvent()</h2>
  164. <div class="memitem">
  165. <div class="memproto">
  166. <table class="mlabels">
  167. <tr>
  168. <td class="mlabels-left">
  169. <table class="memname">
  170. <tr>
  171. <td class="memname">virtual ~<a class="el" href="class_sim_event.html">SimEvent</a> </td>
  172. <td>(</td>
  173. <td class="paramname"></td><td>)</td>
  174. <td></td>
  175. </tr>
  176. </table>
  177. </td>
  178. <td class="mlabels-right">
  179. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  180. </tr>
  181. </table>
  182. </div><div class="memdoc">
  183. <p>Destructor </p><pre class="fragment"> A dummy virtual destructor is required
  184. so that subclasses can be deleted properly
  185. </pre>
  186. </div>
  187. </div>
  188. <h2 class="groupheader">Member Function Documentation</h2>
  189. <a id="a5898b9095c9863604fcd32747fc988be" name="a5898b9095c9863604fcd32747fc988be"></a>
  190. <h2 class="memtitle"><span class="permalink"><a href="#a5898b9095c9863604fcd32747fc988be">&#9670;&#160;</a></span>process()</h2>
  191. <div class="memitem">
  192. <div class="memproto">
  193. <table class="mlabels">
  194. <tr>
  195. <td class="mlabels-left">
  196. <table class="memname">
  197. <tr>
  198. <td class="memname">virtual void process </td>
  199. <td>(</td>
  200. <td class="paramtype"><a class="el" href="class_sim_object.html">SimObject</a> *&#160;</td>
  201. <td class="paramname"><em>object</em></td><td>)</td>
  202. <td></td>
  203. </tr>
  204. </table>
  205. </td>
  206. <td class="mlabels-right">
  207. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  208. </tr>
  209. </table>
  210. </div><div class="memdoc">
  211. <p>Function called when event occurs.</p>
  212. <p>This is where the meat of your event's implementation goes.</p>
  213. <p>See any of the subclasses for ideas of what goes in here.</p>
  214. <p>The event is deleted immediately after processing. If the object referenced in destObject is deleted, then the event is not called. The even will be executed unconditionally if the object referenced is NULL.</p>
  215. <dl class="params"><dt>Parameters</dt><dd>
  216. <table class="params">
  217. <tr><td class="paramname">object</td><td>Object stored in destObject. </td></tr>
  218. </table>
  219. </dd>
  220. </dl>
  221. <p>Implemented in <a class="el" href="class_scene_object_rotate_to_event.html#a59e79c3567700d5b56ac1ffd10dd765b">SceneObjectRotateToEvent</a>, <a class="el" href="class_behavior_component_raise_event.html#a59e79c3567700d5b56ac1ffd10dd765b">BehaviorComponentRaiseEvent</a>, <a class="el" href="class_con_1_1_con_prinf_threaded_event.html#a59e79c3567700d5b56ac1ffd10dd765b">ConPrinfThreadedEvent</a>, <a class="el" href="class_net_delay_event.html#ac4ee9add5aa7a99384bc456292e85663">NetDelayEvent</a>, <a class="el" href="class_process_master_query_event.html#ac4ee9add5aa7a99384bc456292e85663">ProcessMasterQueryEvent</a>, <a class="el" href="class_process_ping_event.html#ac4ee9add5aa7a99384bc456292e85663">ProcessPingEvent</a>, <a class="el" href="class_process_packet_event.html#ac4ee9add5aa7a99384bc456292e85663">ProcessPacketEvent</a>, <a class="el" href="class_heartbeat_event.html#ac4ee9add5aa7a99384bc456292e85663">HeartbeatEvent</a>, <a class="el" href="class_sim_console_event.html#ac4ee9add5aa7a99384bc456292e85663">SimConsoleEvent</a>, <a class="el" href="class_sim_console_thread_exec_event.html#ac4ee9add5aa7a99384bc456292e85663">SimConsoleThreadExecEvent</a>, and <a class="el" href="class_sim_object_timer_event.html#a59e79c3567700d5b56ac1ffd10dd765b">SimObjectTimerEvent</a>.</p>
  222. </div>
  223. </div>
  224. <h2 class="groupheader">Member Data Documentation</h2>
  225. <a id="af859306407b8598f2bfce9dd8e37a7e5" name="af859306407b8598f2bfce9dd8e37a7e5"></a>
  226. <h2 class="memtitle"><span class="permalink"><a href="#af859306407b8598f2bfce9dd8e37a7e5">&#9670;&#160;</a></span>destObject</h2>
  227. <div class="memitem">
  228. <div class="memproto">
  229. <table class="memname">
  230. <tr>
  231. <td class="memname"><a class="el" href="class_sim_object.html">SimObject</a>* destObject</td>
  232. </tr>
  233. </table>
  234. </div><div class="memdoc">
  235. <p>Object on which this event will be applied. </p>
  236. </div>
  237. </div>
  238. <a id="a7dfde9d929ac106599ccdf14b181756d" name="a7dfde9d929ac106599ccdf14b181756d"></a>
  239. <h2 class="memtitle"><span class="permalink"><a href="#a7dfde9d929ac106599ccdf14b181756d">&#9670;&#160;</a></span>nextEvent</h2>
  240. <div class="memitem">
  241. <div class="memproto">
  242. <table class="memname">
  243. <tr>
  244. <td class="memname"><a class="el" href="class_sim_event.html">SimEvent</a>* nextEvent</td>
  245. </tr>
  246. </table>
  247. </div><div class="memdoc">
  248. <p>Linked list details - pointer to next item in the list. </p>
  249. </div>
  250. </div>
  251. <a id="a5092acb84f5d9019e306137ac358f17d" name="a5092acb84f5d9019e306137ac358f17d"></a>
  252. <h2 class="memtitle"><span class="permalink"><a href="#a5092acb84f5d9019e306137ac358f17d">&#9670;&#160;</a></span>sequenceCount</h2>
  253. <div class="memitem">
  254. <div class="memproto">
  255. <table class="memname">
  256. <tr>
  257. <td class="memname">U32 sequenceCount</td>
  258. </tr>
  259. </table>
  260. </div><div class="memdoc">
  261. <p>Unique ID. These are assigned sequentially based on order of addition to the list. </p>
  262. </div>
  263. </div>
  264. <a id="a658c63d9f75be037991cd739dab7b445" name="a658c63d9f75be037991cd739dab7b445"></a>
  265. <h2 class="memtitle"><span class="permalink"><a href="#a658c63d9f75be037991cd739dab7b445">&#9670;&#160;</a></span>startTime</h2>
  266. <div class="memitem">
  267. <div class="memproto">
  268. <table class="memname">
  269. <tr>
  270. <td class="memname">SimTime startTime</td>
  271. </tr>
  272. </table>
  273. </div><div class="memdoc">
  274. <p>When the event was posted. </p>
  275. </div>
  276. </div>
  277. <a id="a5993109c2472e2a9abedd1a23400f6a5" name="a5993109c2472e2a9abedd1a23400f6a5"></a>
  278. <h2 class="memtitle"><span class="permalink"><a href="#a5993109c2472e2a9abedd1a23400f6a5">&#9670;&#160;</a></span>time</h2>
  279. <div class="memitem">
  280. <div class="memproto">
  281. <table class="memname">
  282. <tr>
  283. <td class="memname">SimTime time</td>
  284. </tr>
  285. </table>
  286. </div><div class="memdoc">
  287. <p>When the event is scheduled to occur. </p>
  288. </div>
  289. </div>
  290. <hr/>The documentation for this class was generated from the following file:<ul>
  291. <li>sim/<b>simEvent.h</b></li>
  292. </ul>
  293. </div><!-- contents -->
  294. <!-- start footer part -->
  295. <hr class="footer"/><address class="footer"><small>
  296. Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
  297. </small></address>
  298. </body>
  299. </html>