main
Sara 2024-05-29 19:40:11 +02:00
commit 1ba404a380
126 changed files with 8652 additions and 0 deletions

95
html/annotated.html Normal file
View File

@ -0,0 +1,95 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Class List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>utils</b></td><td class="desc"></td></tr>
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classutils_1_1GameMode.html" target="_self">GameMode</a></td><td class="desc">Stores session-relevant data </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classutils_1_1GameRoot3D.html" target="_self">GameRoot3D</a></td><td class="desc">The root of a game </td></tr>
<tr id="row_0_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classutils_1_1GameState.html" target="_self">GameState</a></td><td class="desc">Parent class for saved game state </td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classutils_1_1IPlayer.html" target="_self">IPlayer</a></td><td class="desc">Interface required for player nodes </td></tr>
<tr id="row_0_4_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classutils_1_1Level3D.html" target="_self">Level3D</a></td><td class="desc">3D level root to be used with <a class="el" href="classutils_1_1GameRoot3D.html" title="The root of a game.">GameRoot3D</a> </td></tr>
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_5_" class="arrow" onclick="toggleFolder('0_5_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classutils_1_1PlayerInput.html" target="_self">PlayerInput</a></td><td class="desc">An event-driven input observer </td></tr>
<tr id="row_0_5_0_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structutils_1_1PlayerInput_1_1Listener.html" target="_self">Listener</a></td><td class="desc">A <a class="el" href="classutils_1_1PlayerInput.html" title="An event-driven input observer.">PlayerInput</a> action listener </td></tr>
<tr id="row_0_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classutils_1_1SpawnPoint3D.html" target="_self">SpawnPoint3D</a></td><td class="desc">A location in the game world that the player can spawn at </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

BIN
html/bc_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

BIN
html/bc_sd.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

100
html/classes.html Normal file
View File

@ -0,0 +1,100 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Class Index</div></div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a id="letter_G" name="letter_G">G</a></dt>
<dd><a class="el" href="classutils_1_1GameMode.html">GameMode</a> (utils)</dd><dd><a class="el" href="classutils_1_1GameRoot3D.html">GameRoot3D</a> (utils)</dd><dd><a class="el" href="classutils_1_1GameState.html">GameState</a> (utils)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_I" name="letter_I">I</a></dt>
<dd><a class="el" href="classutils_1_1IPlayer.html">IPlayer</a> (utils)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_L" name="letter_L">L</a></dt>
<dd><a class="el" href="classutils_1_1Level3D.html">Level3D</a> (utils)</dd><dd><a class="el" href="structutils_1_1PlayerInput_1_1Listener.html">PlayerInput::Listener</a> (utils)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_P" name="letter_P">P</a></dt>
<dd><a class="el" href="classutils_1_1PlayerInput.html">PlayerInput</a> (utils)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_S" name="letter_S">S</a></dt>
<dd><a class="el" href="classutils_1_1SpawnPoint3D.html">SpawnPoint3D</a> (utils)</dd></dl>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,96 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classutils_1_1GameMode.html">GameMode</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">utils::GameMode Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classutils_1_1GameMode.html">utils::GameMode</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameMode.html#aa1b190a57e4106951a559301665739ec">_begin</a>()</td><td class="entry"><a class="el" href="classutils_1_1GameMode.html">utils::GameMode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>_bind_methods</b>() (defined in <a class="el" href="classutils_1_1GameMode.html">utils::GameMode</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameMode.html">utils::GameMode</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameMode.html#ae69ff36bf1c3f60fad279e9991ca2d82">_end</a>()</td><td class="entry"><a class="el" href="classutils_1_1GameMode.html">utils::GameMode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>GDCLASS</b>(GameMode, gd::Resource) (defined in <a class="el" href="classutils_1_1GameMode.html">utils::GameMode</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameMode.html">utils::GameMode</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_player_scene</b>() const (defined in <a class="el" href="classutils_1_1GameMode.html">utils::GameMode</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameMode.html">utils::GameMode</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameMode.html#a7e7258b38b17cde56ba9b130bbaf9908">player_scene</a></td><td class="entry"><a class="el" href="classutils_1_1GameMode.html">utils::GameMode</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_player_scene</b>(gd::Ref&lt; gd::PackedScene &gt; scene) (defined in <a class="el" href="classutils_1_1GameMode.html">utils::GameMode</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameMode.html">utils::GameMode</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,147 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: utils::GameMode Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classutils_1_1GameMode.html">GameMode</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classutils_1_1GameMode-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">utils::GameMode Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Stores session-relevant data.
<a href="classutils_1_1GameMode.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="game__mode_8hpp_source.html">game_mode.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for utils::GameMode:</div>
<div class="dyncontent">
<div class="center">
<img src="classutils_1_1GameMode.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa1b190a57e4106951a559301665739ec"><td class="memItemLeft" align="right" valign="top"><a id="aa1b190a57e4106951a559301665739ec" name="aa1b190a57e4106951a559301665739ec"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_begin</b> ()</td></tr>
<tr class="memdesc:aa1b190a57e4106951a559301665739ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the match begins. <br /></td></tr>
<tr class="separator:aa1b190a57e4106951a559301665739ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae69ff36bf1c3f60fad279e9991ca2d82"><td class="memItemLeft" align="right" valign="top"><a id="ae69ff36bf1c3f60fad279e9991ca2d82" name="ae69ff36bf1c3f60fad279e9991ca2d82"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_end</b> ()</td></tr>
<tr class="memdesc:ae69ff36bf1c3f60fad279e9991ca2d82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the match is ending. <br /></td></tr>
<tr class="separator:ae69ff36bf1c3f60fad279e9991ca2d82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaeddac05bf7ddc1ea1a2b55c55ed5015"><td class="memItemLeft" align="right" valign="top"><a id="aaeddac05bf7ddc1ea1a2b55c55ed5015" name="aaeddac05bf7ddc1ea1a2b55c55ed5015"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_player_scene</b> (gd::Ref&lt; gd::PackedScene &gt; scene)</td></tr>
<tr class="separator:aaeddac05bf7ddc1ea1a2b55c55ed5015"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16d63e869318fd0f09b230d038ec519d"><td class="memItemLeft" align="right" valign="top"><a id="a16d63e869318fd0f09b230d038ec519d" name="a16d63e869318fd0f09b230d038ec519d"></a>
gd::Ref&lt; gd::PackedScene &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>get_player_scene</b> () const</td></tr>
<tr class="separator:a16d63e869318fd0f09b230d038ec519d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:ae69a33c169e648bbbea6cb76112962dd"><td class="memItemLeft" align="right" valign="top"><a id="ae69a33c169e648bbbea6cb76112962dd" name="ae69a33c169e648bbbea6cb76112962dd"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>GDCLASS</b> (<a class="el" href="classutils_1_1GameMode.html">GameMode</a>, gd::Resource)</td></tr>
<tr class="separator:ae69a33c169e648bbbea6cb76112962dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-methods" name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:a739b647a3d4aabc4c994ba35d7a3ed5f"><td class="memItemLeft" align="right" valign="top"><a id="a739b647a3d4aabc4c994ba35d7a3ed5f" name="a739b647a3d4aabc4c994ba35d7a3ed5f"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_bind_methods</b> ()</td></tr>
<tr class="separator:a739b647a3d4aabc4c994ba35d7a3ed5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a7e7258b38b17cde56ba9b130bbaf9908"><td class="memItemLeft" align="right" valign="top"><a id="a7e7258b38b17cde56ba9b130bbaf9908" name="a7e7258b38b17cde56ba9b130bbaf9908"></a>
gd::Ref&lt; gd::PackedScene &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>player_scene</b> {}</td></tr>
<tr class="memdesc:a7e7258b38b17cde56ba9b130bbaf9908"><td class="mdescLeft">&#160;</td><td class="mdescRight">The scene to instantiate when spawning a player. <br /></td></tr>
<tr class="separator:a7e7258b38b17cde56ba9b130bbaf9908"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Stores session-relevant data. </p>
<p>Contains any data that is only needed for the duration of the current session/match. Use <a class="el" href="classutils_1_1GameState.html" title="Parent class for saved game state.">GameState</a> instead if you want data to be saved between sessions. Will be destroyed when a level is loaded that does not match the same game mode class. </p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="game__mode_8hpp_source.html">game_mode.hpp</a></li>
<li>game_mode.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 526 B

View File

@ -0,0 +1,135 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classutils_1_1GameRoot3D.html">GameRoot3D</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">utils::GameRoot3D Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_bind_methods</b>() (defined in <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>_enter_tree</b>() override (defined in <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_exit_tree</b>() override (defined in <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>_ready</b>() override (defined in <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#ab3895b9b48c4646a876e188d226c5723">find_empty_player_slot</a>() const</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#abf16d0f3b8030b758942397dcff1d46a">first_boot_level</a></td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#abb25b7613e1c7cd4f056020e6990d8e1">game_mode</a></td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#af73d3a598b72fcdc7dce372ea3af6e44">game_state</a></td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#ad62b2be46770ba99aa6c2a7800c52aa8">game_state_prototype</a></td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>GDCLASS</b>(GameRoot3D, gd::Node) (defined in <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_first_boot_level</b>() const (defined in <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a896b4e4d3b9465a83a10249dbd559662">get_game_mode</a>() const</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a105011a591cf09368958d4be350ed352">get_game_state</a>() const</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_game_state_prototype</b>() const (defined in <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#aa9ed453a0b416641dfa5154a0b69c79e">get_levels</a>()</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a27492f37140fa8af6c6955f2147f5521">get_player</a>(uint32_t id)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#af176a558f2a3b972c970087c2a1e3d7b">get_players</a>()</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#ad1c9387dee7919a8ab5d60b19cba2140">get_singleton</a>()</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a0fc164bad77a192ff2209eee18e5104b">grab_singleton</a>()</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a13e110d60dffd924248af9c3f6943706">has_singleton</a>()</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a865e6d9fe4f9422c0fb974bd6b1222ce">initialize_player</a>(IPlayer *player, uint32_t id)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a77e4726bb8fec522669cbb2c068e47d9">is_valid_level</a>(gd::Ref&lt; gd::PackedScene &gt; &amp;level)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#af34016620adcdc2654358b463769a85f">level_unloaded</a>(gd::StringName scene_path)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a800421c3b82947156eebcbf730a680db">levels</a></td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#acbec3f7b39c8c991a725e611dd8b869e">load_level</a>(gd::Ref&lt; gd::PackedScene &gt; level)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#ad53d50b5b35e4c13bf84f2d9c0f45a0b">load_level_at</a>(gd::Ref&lt; gd::PackedScene &gt; level, gd::Transform3D at)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#af508cc9852b123ea37b94651da0f3c19">next_player_id</a></td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>place_player_at_spawnpoint</b>(IPlayer *player) (defined in <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>player_despawned</b>(uint32_t id) (defined in <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a85eee9cb258971abe9fe8577314b2556">player_input_connected</a>()</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#acf48cbe3b2b6dd064cd1665ea8df2b9a">players</a></td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a1937044fe05a903610308f8d382de975">register_spawn_point</a>(SpawnPoint3D *spawn_point)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#adc4455c11d39f8a267091f29ead441ee">release_singleton</a>()</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>remove_all_players</b>() (defined in <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a89953130655a618aefa8f3ea0db63a53">remove_player</a>(uint32_t player_id)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a453c8aa3920d7d0adaf2490c63a7d92c">replace_levels</a>(gd::Ref&lt; gd::PackedScene &gt; level)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#add087bf071383383e68e919173670c47">reset_game_mode</a>()</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a623230c72ced578d7be1b9141b54fbd4">rng</a></td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_first_boot_level</b>(gd::Ref&lt; gd::PackedScene &gt; level) (defined in <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a6c2a1aa2c35808a1b003ae79eac348c2">set_game_mode</a>(gd::Ref&lt; GameMode &gt; prototype)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_game_state_prototype</b>(gd::Ref&lt; GameState &gt; game_state) (defined in <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>singleton_instance</b> (defined in <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a3e74ac9841575d9a915cf7ac6735b42b">spawn_player</a>(uint32_t id)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a116245a9c4e7edf53ec03c6fe78c8462">spawn_points</a></td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html#a4053b12af23cef53eb294729f1cb3aa8">unload_all_levels</a>()</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>unregister_spawn_point</b>(SpawnPoint3D *spawn_point) (defined in <a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,571 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: utils::GameRoot3D Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classutils_1_1GameRoot3D.html">GameRoot3D</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="classutils_1_1GameRoot3D-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">utils::GameRoot3D Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>The root of a game.
<a href="classutils_1_1GameRoot3D.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="game__root_8hpp_source.html">game_root.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for utils::GameRoot3D:</div>
<div class="dyncontent">
<div class="center">
<img src="classutils_1_1GameRoot3D.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:acbe172accf6be3995fc6e09f82972f8d"><td class="memItemLeft" align="right" valign="top"><a id="acbe172accf6be3995fc6e09f82972f8d" name="acbe172accf6be3995fc6e09f82972f8d"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_enter_tree</b> () override</td></tr>
<tr class="separator:acbe172accf6be3995fc6e09f82972f8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2988192b6066c7497e8a9b8e2ab3aee"><td class="memItemLeft" align="right" valign="top"><a id="ac2988192b6066c7497e8a9b8e2ab3aee" name="ac2988192b6066c7497e8a9b8e2ab3aee"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_ready</b> () override</td></tr>
<tr class="separator:ac2988192b6066c7497e8a9b8e2ab3aee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9990f4397e3e636f03b85cfaa9e32ff3"><td class="memItemLeft" align="right" valign="top"><a id="a9990f4397e3e636f03b85cfaa9e32ff3" name="a9990f4397e3e636f03b85cfaa9e32ff3"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_exit_tree</b> () override</td></tr>
<tr class="separator:a9990f4397e3e636f03b85cfaa9e32ff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85eee9cb258971abe9fe8577314b2556"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1GameRoot3D.html#a85eee9cb258971abe9fe8577314b2556">player_input_connected</a> ()</td></tr>
<tr class="memdesc:a85eee9cb258971abe9fe8577314b2556"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiate a new <a class="el" href="classutils_1_1PlayerInput.html" title="An event-driven input observer.">PlayerInput</a>. <br /></td></tr>
<tr class="separator:a85eee9cb258971abe9fe8577314b2556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89953130655a618aefa8f3ea0db63a53"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1GameRoot3D.html#a89953130655a618aefa8f3ea0db63a53">remove_player</a> (uint32_t player_id)</td></tr>
<tr class="memdesc:a89953130655a618aefa8f3ea0db63a53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Force-disconnect a player. <br /></td></tr>
<tr class="separator:a89953130655a618aefa8f3ea0db63a53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8609fc03b909a94a3c9da6f9e9d2307b"><td class="memItemLeft" align="right" valign="top"><a id="a8609fc03b909a94a3c9da6f9e9d2307b" name="a8609fc03b909a94a3c9da6f9e9d2307b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>remove_all_players</b> ()</td></tr>
<tr class="separator:a8609fc03b909a94a3c9da6f9e9d2307b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a865e6d9fe4f9422c0fb974bd6b1222ce"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1GameRoot3D.html#a865e6d9fe4f9422c0fb974bd6b1222ce">initialize_player</a> (<a class="el" href="classutils_1_1IPlayer.html">IPlayer</a> *player, uint32_t id)</td></tr>
<tr class="memdesc:a865e6d9fe4f9422c0fb974bd6b1222ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize and register a player instance. <br /></td></tr>
<tr class="separator:a865e6d9fe4f9422c0fb974bd6b1222ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add087bf071383383e68e919173670c47"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1GameRoot3D.html#add087bf071383383e68e919173670c47">reset_game_mode</a> ()</td></tr>
<tr class="memdesc:add087bf071383383e68e919173670c47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Un-set game mode. <br /></td></tr>
<tr class="separator:add087bf071383383e68e919173670c47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbec3f7b39c8c991a725e611dd8b869e"><td class="memItemLeft" align="right" valign="top"><a id="acbec3f7b39c8c991a725e611dd8b869e" name="acbec3f7b39c8c991a725e611dd8b869e"></a>
<a class="el" href="classutils_1_1Level3D.html">Level3D</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>load_level</b> (gd::Ref&lt; gd::PackedScene &gt; level)</td></tr>
<tr class="memdesc:acbec3f7b39c8c991a725e611dd8b869e"><td class="mdescLeft">&#160;</td><td class="mdescRight">shorthand for load_level(level, Transform3D()) <br /></td></tr>
<tr class="separator:acbec3f7b39c8c991a725e611dd8b869e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad53d50b5b35e4c13bf84f2d9c0f45a0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutils_1_1Level3D.html">Level3D</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1GameRoot3D.html#ad53d50b5b35e4c13bf84f2d9c0f45a0b">load_level_at</a> (gd::Ref&lt; gd::PackedScene &gt; level, gd::Transform3D at)</td></tr>
<tr class="memdesc:ad53d50b5b35e4c13bf84f2d9c0f45a0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a level, only works if 'level' is a valid scene where the root Node can cast to '<a class="el" href="classutils_1_1Level3D.html" title="3D level root to be used with GameRoot3D.">Level3D</a>'. <br /></td></tr>
<tr class="separator:ad53d50b5b35e4c13bf84f2d9c0f45a0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4053b12af23cef53eb294729f1cb3aa8"><td class="memItemLeft" align="right" valign="top"><a id="a4053b12af23cef53eb294729f1cb3aa8" name="a4053b12af23cef53eb294729f1cb3aa8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>unload_all_levels</b> ()</td></tr>
<tr class="memdesc:a4053b12af23cef53eb294729f1cb3aa8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unload all currently loaded levels. <br /></td></tr>
<tr class="separator:a4053b12af23cef53eb294729f1cb3aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a453c8aa3920d7d0adaf2490c63a7d92c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1GameRoot3D.html#a453c8aa3920d7d0adaf2490c63a7d92c">replace_levels</a> (gd::Ref&lt; gd::PackedScene &gt; level)</td></tr>
<tr class="memdesc:a453c8aa3920d7d0adaf2490c63a7d92c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace all currently loaded levels with a new level. <br /></td></tr>
<tr class="separator:a453c8aa3920d7d0adaf2490c63a7d92c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1937044fe05a903610308f8d382de975"><td class="memItemLeft" align="right" valign="top"><a id="a1937044fe05a903610308f8d382de975" name="a1937044fe05a903610308f8d382de975"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>register_spawn_point</b> (<a class="el" href="classutils_1_1SpawnPoint3D.html">SpawnPoint3D</a> *spawn_point)</td></tr>
<tr class="memdesc:a1937044fe05a903610308f8d382de975"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a spawnpoint for use when spawning players. <br /></td></tr>
<tr class="separator:a1937044fe05a903610308f8d382de975"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f0302998c72c1d402745e3d16cfbf7b"><td class="memItemLeft" align="right" valign="top"><a id="a8f0302998c72c1d402745e3d16cfbf7b" name="a8f0302998c72c1d402745e3d16cfbf7b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>unregister_spawn_point</b> (<a class="el" href="classutils_1_1SpawnPoint3D.html">SpawnPoint3D</a> *spawn_point)</td></tr>
<tr class="separator:a8f0302998c72c1d402745e3d16cfbf7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadefd1d1fd0b0493457c8288c87ccad6"><td class="memItemLeft" align="right" valign="top"><a id="aadefd1d1fd0b0493457c8288c87ccad6" name="aadefd1d1fd0b0493457c8288c87ccad6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>place_player_at_spawnpoint</b> (<a class="el" href="classutils_1_1IPlayer.html">IPlayer</a> *player)</td></tr>
<tr class="separator:aadefd1d1fd0b0493457c8288c87ccad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5afd37ae4fca77439721fe9e5b578ed"><td class="memItemLeft" align="right" valign="top"><a id="ab5afd37ae4fca77439721fe9e5b578ed" name="ab5afd37ae4fca77439721fe9e5b578ed"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>player_despawned</b> (uint32_t id)</td></tr>
<tr class="separator:ab5afd37ae4fca77439721fe9e5b578ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c2a1aa2c35808a1b003ae79eac348c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1GameRoot3D.html#a6c2a1aa2c35808a1b003ae79eac348c2">set_game_mode</a> (gd::Ref&lt; <a class="el" href="classutils_1_1GameMode.html">GameMode</a> &gt; prototype)</td></tr>
<tr class="memdesc:a6c2a1aa2c35808a1b003ae79eac348c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override the current gamemode. <br /></td></tr>
<tr class="separator:a6c2a1aa2c35808a1b003ae79eac348c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a896b4e4d3b9465a83a10249dbd559662"><td class="memItemLeft" align="right" valign="top"><a id="a896b4e4d3b9465a83a10249dbd559662" name="a896b4e4d3b9465a83a10249dbd559662"></a>
<a class="el" href="classutils_1_1GameMode.html">GameMode</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>get_game_mode</b> () const</td></tr>
<tr class="memdesc:a896b4e4d3b9465a83a10249dbd559662"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the current active game mode. <br /></td></tr>
<tr class="separator:a896b4e4d3b9465a83a10249dbd559662"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a105011a591cf09368958d4be350ed352"><td class="memItemLeft" align="right" valign="top"><a id="a105011a591cf09368958d4be350ed352" name="a105011a591cf09368958d4be350ed352"></a>
<a class="el" href="classutils_1_1GameState.html">GameState</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>get_game_state</b> () const</td></tr>
<tr class="memdesc:a105011a591cf09368958d4be350ed352"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current active game state. <br /></td></tr>
<tr class="separator:a105011a591cf09368958d4be350ed352"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9ed453a0b416641dfa5154a0b69c79e"><td class="memItemLeft" align="right" valign="top">gd::HashMap&lt; gd::StringName, <a class="el" href="classutils_1_1Level3D.html">Level3D</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1GameRoot3D.html#aa9ed453a0b416641dfa5154a0b69c79e">get_levels</a> ()</td></tr>
<tr class="memdesc:aa9ed453a0b416641dfa5154a0b69c79e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all currently active levels. <br /></td></tr>
<tr class="separator:aa9ed453a0b416641dfa5154a0b69c79e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27492f37140fa8af6c6955f2147f5521"><td class="memItemLeft" align="right" valign="top"><a id="a27492f37140fa8af6c6955f2147f5521" name="a27492f37140fa8af6c6955f2147f5521"></a>
<a class="el" href="classutils_1_1IPlayer.html">IPlayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>get_player</b> (uint32_t id)</td></tr>
<tr class="memdesc:a27492f37140fa8af6c6955f2147f5521"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the player instance associated with id. <br /></td></tr>
<tr class="separator:a27492f37140fa8af6c6955f2147f5521"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af176a558f2a3b972c970087c2a1e3d7b"><td class="memItemLeft" align="right" valign="top"><a id="af176a558f2a3b972c970087c2a1e3d7b" name="af176a558f2a3b972c970087c2a1e3d7b"></a>
gd::Vector&lt; <a class="el" href="classutils_1_1IPlayer.html">IPlayer</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>get_players</b> ()</td></tr>
<tr class="memdesc:af176a558f2a3b972c970087c2a1e3d7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get all players in a list. <br /></td></tr>
<tr class="separator:af176a558f2a3b972c970087c2a1e3d7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15df4b8020de484ba142bc0ef61c60d4"><td class="memItemLeft" align="right" valign="top"><a id="a15df4b8020de484ba142bc0ef61c60d4" name="a15df4b8020de484ba142bc0ef61c60d4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_first_boot_level</b> (gd::Ref&lt; gd::PackedScene &gt; level)</td></tr>
<tr class="separator:a15df4b8020de484ba142bc0ef61c60d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5305cfbb08abcabed07364e353c0017d"><td class="memItemLeft" align="right" valign="top"><a id="a5305cfbb08abcabed07364e353c0017d" name="a5305cfbb08abcabed07364e353c0017d"></a>
gd::Ref&lt; gd::PackedScene &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>get_first_boot_level</b> () const</td></tr>
<tr class="separator:a5305cfbb08abcabed07364e353c0017d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80edbb785e0bc0b0b76a99572793cb87"><td class="memItemLeft" align="right" valign="top"><a id="a80edbb785e0bc0b0b76a99572793cb87" name="a80edbb785e0bc0b0b76a99572793cb87"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_game_state_prototype</b> (gd::Ref&lt; <a class="el" href="classutils_1_1GameState.html">GameState</a> &gt; <a class="el" href="classutils_1_1GameRoot3D.html#af73d3a598b72fcdc7dce372ea3af6e44">game_state</a>)</td></tr>
<tr class="separator:a80edbb785e0bc0b0b76a99572793cb87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70389d0364230eaed0182c2fb9ded0ad"><td class="memItemLeft" align="right" valign="top"><a id="a70389d0364230eaed0182c2fb9ded0ad" name="a70389d0364230eaed0182c2fb9ded0ad"></a>
gd::Ref&lt; <a class="el" href="classutils_1_1GameState.html">GameState</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>get_game_state_prototype</b> () const</td></tr>
<tr class="separator:a70389d0364230eaed0182c2fb9ded0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ad1c9387dee7919a8ab5d60b19cba2140"><td class="memItemLeft" align="right" valign="top"><a id="ad1c9387dee7919a8ab5d60b19cba2140" name="ad1c9387dee7919a8ab5d60b19cba2140"></a>
static <a class="el" href="classutils_1_1GameRoot3D.html">GameRoot3D</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>get_singleton</b> ()</td></tr>
<tr class="memdesc:ad1c9387dee7919a8ab5d60b19cba2140"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the current active singleton instance of GameRoot <br /></td></tr>
<tr class="separator:ad1c9387dee7919a8ab5d60b19cba2140"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13e110d60dffd924248af9c3f6943706"><td class="memItemLeft" align="right" valign="top"><a id="a13e110d60dffd924248af9c3f6943706" name="a13e110d60dffd924248af9c3f6943706"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_singleton</b> ()</td></tr>
<tr class="memdesc:a13e110d60dffd924248af9c3f6943706"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if there is currently a singleton active for GameRoot <br /></td></tr>
<tr class="separator:a13e110d60dffd924248af9c3f6943706"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a0fc164bad77a192ff2209eee18e5104b"><td class="memItemLeft" align="right" valign="top"><a id="a0fc164bad77a192ff2209eee18e5104b" name="a0fc164bad77a192ff2209eee18e5104b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>grab_singleton</b> ()</td></tr>
<tr class="memdesc:a0fc164bad77a192ff2209eee18e5104b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to make 'this' the current singleton instance. <br /></td></tr>
<tr class="separator:a0fc164bad77a192ff2209eee18e5104b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc4455c11d39f8a267091f29ead441ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1GameRoot3D.html#adc4455c11d39f8a267091f29ead441ee">release_singleton</a> ()</td></tr>
<tr class="memdesc:adc4455c11d39f8a267091f29ead441ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to stop being the active singleton instance. <br /></td></tr>
<tr class="separator:adc4455c11d39f8a267091f29ead441ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3895b9b48c4646a876e188d226c5723"><td class="memItemLeft" align="right" valign="top"><a id="ab3895b9b48c4646a876e188d226c5723" name="ab3895b9b48c4646a876e188d226c5723"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>find_empty_player_slot</b> () const</td></tr>
<tr class="memdesc:ab3895b9b48c4646a876e188d226c5723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find a Player Input device not yet associated with a player. <br /></td></tr>
<tr class="separator:ab3895b9b48c4646a876e188d226c5723"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e74ac9841575d9a915cf7ac6735b42b"><td class="memItemLeft" align="right" valign="top"><a id="a3e74ac9841575d9a915cf7ac6735b42b" name="a3e74ac9841575d9a915cf7ac6735b42b"></a>
<a class="el" href="classutils_1_1IPlayer.html">IPlayer</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>spawn_player</b> (uint32_t id)</td></tr>
<tr class="memdesc:a3e74ac9841575d9a915cf7ac6735b42b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spawn a player to be associated with id. <br /></td></tr>
<tr class="separator:a3e74ac9841575d9a915cf7ac6735b42b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af34016620adcdc2654358b463769a85f"><td class="memItemLeft" align="right" valign="top"><a id="af34016620adcdc2654358b463769a85f" name="af34016620adcdc2654358b463769a85f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>level_unloaded</b> (gd::StringName scene_path)</td></tr>
<tr class="memdesc:af34016620adcdc2654358b463769a85f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback for a level exiting the tree. <br /></td></tr>
<tr class="separator:af34016620adcdc2654358b463769a85f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-static-methods" name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:a77e4726bb8fec522669cbb2c068e47d9"><td class="memItemLeft" align="right" valign="top"><a id="a77e4726bb8fec522669cbb2c068e47d9" name="a77e4726bb8fec522669cbb2c068e47d9"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_valid_level</b> (gd::Ref&lt; gd::PackedScene &gt; &amp;level)</td></tr>
<tr class="memdesc:a77e4726bb8fec522669cbb2c068e47d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a scene is a valid level. <br /></td></tr>
<tr class="separator:a77e4726bb8fec522669cbb2c068e47d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a3e6425340b1db9e5472bbd1e26b664f3"><td class="memItemLeft" align="right" valign="top"><a id="a3e6425340b1db9e5472bbd1e26b664f3" name="a3e6425340b1db9e5472bbd1e26b664f3"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>GDCLASS</b> (<a class="el" href="classutils_1_1GameRoot3D.html">GameRoot3D</a>, gd::Node)</td></tr>
<tr class="separator:a3e6425340b1db9e5472bbd1e26b664f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-methods" name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:a064191129e5e3447a5e883ad92d50a72"><td class="memItemLeft" align="right" valign="top"><a id="a064191129e5e3447a5e883ad92d50a72" name="a064191129e5e3447a5e883ad92d50a72"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_bind_methods</b> ()</td></tr>
<tr class="separator:a064191129e5e3447a5e883ad92d50a72"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:af508cc9852b123ea37b94651da0f3c19"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1GameRoot3D.html#af508cc9852b123ea37b94651da0f3c19">next_player_id</a> {1}</td></tr>
<tr class="memdesc:af508cc9852b123ea37b94651da0f3c19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Next available player ID. <br /></td></tr>
<tr class="separator:af508cc9852b123ea37b94651da0f3c19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf48cbe3b2b6dd064cd1665ea8df2b9a"><td class="memItemLeft" align="right" valign="top"><a id="acf48cbe3b2b6dd064cd1665ea8df2b9a" name="acf48cbe3b2b6dd064cd1665ea8df2b9a"></a>
gd::HashMap&lt; uint32_t, gd::Pair&lt; <a class="el" href="classutils_1_1PlayerInput.html">PlayerInput</a> *, <a class="el" href="classutils_1_1IPlayer.html">IPlayer</a> * &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>players</b> {}</td></tr>
<tr class="memdesc:acf48cbe3b2b6dd064cd1665ea8df2b9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">all players by id by input device. <br /></td></tr>
<tr class="separator:acf48cbe3b2b6dd064cd1665ea8df2b9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a623230c72ced578d7be1b9141b54fbd4"><td class="memItemLeft" align="right" valign="top"><a id="a623230c72ced578d7be1b9141b54fbd4" name="a623230c72ced578d7be1b9141b54fbd4"></a>
gd::RandomNumberGenerator&#160;</td><td class="memItemRight" valign="bottom"><b>rng</b> {}</td></tr>
<tr class="memdesc:a623230c72ced578d7be1b9141b54fbd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global random number generator. <br /></td></tr>
<tr class="separator:a623230c72ced578d7be1b9141b54fbd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a800421c3b82947156eebcbf730a680db"><td class="memItemLeft" align="right" valign="top"><a id="a800421c3b82947156eebcbf730a680db" name="a800421c3b82947156eebcbf730a680db"></a>
gd::HashMap&lt; gd::StringName, <a class="el" href="classutils_1_1Level3D.html">Level3D</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>levels</b> {}</td></tr>
<tr class="memdesc:a800421c3b82947156eebcbf730a680db"><td class="mdescLeft">&#160;</td><td class="mdescRight">all currently active levels identified by their resource paths. <br /></td></tr>
<tr class="separator:a800421c3b82947156eebcbf730a680db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a116245a9c4e7edf53ec03c6fe78c8462"><td class="memItemLeft" align="right" valign="top"><a id="a116245a9c4e7edf53ec03c6fe78c8462" name="a116245a9c4e7edf53ec03c6fe78c8462"></a>
gd::Vector&lt; <a class="el" href="classutils_1_1SpawnPoint3D.html">SpawnPoint3D</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>spawn_points</b> {}</td></tr>
<tr class="memdesc:a116245a9c4e7edf53ec03c6fe78c8462"><td class="mdescLeft">&#160;</td><td class="mdescRight">all currently available spawn points. <br /></td></tr>
<tr class="separator:a116245a9c4e7edf53ec03c6fe78c8462"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb25b7613e1c7cd4f056020e6990d8e1"><td class="memItemLeft" align="right" valign="top"><a id="abb25b7613e1c7cd4f056020e6990d8e1" name="abb25b7613e1c7cd4f056020e6990d8e1"></a>
gd::Ref&lt; <a class="el" href="classutils_1_1GameMode.html">GameMode</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>game_mode</b> {}</td></tr>
<tr class="memdesc:abb25b7613e1c7cd4f056020e6990d8e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">current active gamemode. <br /></td></tr>
<tr class="separator:abb25b7613e1c7cd4f056020e6990d8e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af73d3a598b72fcdc7dce372ea3af6e44"><td class="memItemLeft" align="right" valign="top">gd::Ref&lt; <a class="el" href="classutils_1_1GameState.html">GameState</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1GameRoot3D.html#af73d3a598b72fcdc7dce372ea3af6e44">game_state</a> {}</td></tr>
<tr class="memdesc:af73d3a598b72fcdc7dce372ea3af6e44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Active game state. <br /></td></tr>
<tr class="separator:af73d3a598b72fcdc7dce372ea3af6e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf16d0f3b8030b758942397dcff1d46a"><td class="memItemLeft" align="right" valign="top"><a id="abf16d0f3b8030b758942397dcff1d46a" name="abf16d0f3b8030b758942397dcff1d46a"></a>
gd::Ref&lt; gd::PackedScene &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>first_boot_level</b> {}</td></tr>
<tr class="memdesc:abf16d0f3b8030b758942397dcff1d46a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The level to boot into on startup. <br /></td></tr>
<tr class="separator:abf16d0f3b8030b758942397dcff1d46a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad62b2be46770ba99aa6c2a7800c52aa8"><td class="memItemLeft" align="right" valign="top"><a id="ad62b2be46770ba99aa6c2a7800c52aa8" name="ad62b2be46770ba99aa6c2a7800c52aa8"></a>
gd::Ref&lt; <a class="el" href="classutils_1_1GameState.html">GameState</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>game_state_prototype</b> {}</td></tr>
<tr class="memdesc:ad62b2be46770ba99aa6c2a7800c52aa8"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default game state data used for game_state if no save data is available. <br /></td></tr>
<tr class="separator:ad62b2be46770ba99aa6c2a7800c52aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-attribs" name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:a35961f730828273d502ff2311c7cd83d"><td class="memItemLeft" align="right" valign="top"><a id="a35961f730828273d502ff2311c7cd83d" name="a35961f730828273d502ff2311c7cd83d"></a>
static <a class="el" href="classutils_1_1GameRoot3D.html">GameRoot3D</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>singleton_instance</b> {nullptr}</td></tr>
<tr class="separator:a35961f730828273d502ff2311c7cd83d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The root of a game. </p>
<p>A game root node that manages levels and input devices. Can be loaded at any point in a game's life, but suggested is setting this as the root of the boot scene. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="aa9ed453a0b416641dfa5154a0b69c79e" name="aa9ed453a0b416641dfa5154a0b69c79e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9ed453a0b416641dfa5154a0b69c79e">&#9670;&#160;</a></span>get_levels()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">gd::HashMap&lt; gd::StringName, <a class="el" href="classutils_1_1Level3D.html">Level3D</a> * &gt; &amp; utils::GameRoot3D::get_levels </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns all currently active levels. </p>
<p>Levels are identified by their packed scene path. </p>
</div>
</div>
<a id="a865e6d9fe4f9422c0fb974bd6b1222ce" name="a865e6d9fe4f9422c0fb974bd6b1222ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a865e6d9fe4f9422c0fb974bd6b1222ce">&#9670;&#160;</a></span>initialize_player()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool utils::GameRoot3D::initialize_player </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classutils_1_1IPlayer.html">IPlayer</a> *&#160;</td>
<td class="paramname"><em>player</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>id</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize and register a player instance. </p>
<p>The player will be added to the tree and AFTER setup_player_input will be called. This way the player can initialize before setting up input </p>
</div>
</div>
<a id="ad53d50b5b35e4c13bf84f2d9c0f45a0b" name="ad53d50b5b35e4c13bf84f2d9c0f45a0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad53d50b5b35e4c13bf84f2d9c0f45a0b">&#9670;&#160;</a></span>load_level_at()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classutils_1_1Level3D.html">Level3D</a> * utils::GameRoot3D::load_level_at </td>
<td>(</td>
<td class="paramtype">gd::Ref&lt; gd::PackedScene &gt;&#160;</td>
<td class="paramname"><em>level</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">gd::Transform3D&#160;</td>
<td class="paramname"><em>at</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Load a level, only works if 'level' is a valid scene where the root Node can cast to '<a class="el" href="classutils_1_1Level3D.html" title="3D level root to be used with GameRoot3D.">Level3D</a>'. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">at</td><td>Sets the root node's global transform. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a85eee9cb258971abe9fe8577314b2556" name="a85eee9cb258971abe9fe8577314b2556"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85eee9cb258971abe9fe8577314b2556">&#9670;&#160;</a></span>player_input_connected()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void utils::GameRoot3D::player_input_connected </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Instantiate a new <a class="el" href="classutils_1_1PlayerInput.html" title="An event-driven input observer.">PlayerInput</a>. </p>
<p>Does not automatically spawn a new player, but does notify game mode. </p>
</div>
</div>
<a id="adc4455c11d39f8a267091f29ead441ee" name="adc4455c11d39f8a267091f29ead441ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc4455c11d39f8a267091f29ead441ee">&#9670;&#160;</a></span>release_singleton()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void utils::GameRoot3D::release_singleton </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Attempt to stop being the active singleton instance. </p>
<p>Only works if the current singleton is 'this'. </p>
</div>
</div>
<a id="a89953130655a618aefa8f3ea0db63a53" name="a89953130655a618aefa8f3ea0db63a53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89953130655a618aefa8f3ea0db63a53">&#9670;&#160;</a></span>remove_player()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void utils::GameRoot3D::remove_player </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>player_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Force-disconnect a player. </p>
<p>Calls queue_free on the <a class="el" href="classutils_1_1IPlayer.html" title="Interface required for player nodes.">IPlayer</a> instance </p>
</div>
</div>
<a id="a453c8aa3920d7d0adaf2490c63a7d92c" name="a453c8aa3920d7d0adaf2490c63a7d92c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a453c8aa3920d7d0adaf2490c63a7d92c">&#9670;&#160;</a></span>replace_levels()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void utils::GameRoot3D::replace_levels </td>
<td>(</td>
<td class="paramtype">gd::Ref&lt; gd::PackedScene &gt;&#160;</td>
<td class="paramname"><em>level</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Replace all currently loaded levels with a new level. </p>
<p>Shorthand for </p><div class="fragment"><div class="line"><a class="code hl_function" href="classutils_1_1GameRoot3D.html#a4053b12af23cef53eb294729f1cb3aa8">unload_all_levels</a>();</div>
<div class="line"><a class="code hl_function" href="classutils_1_1GameRoot3D.html#acbec3f7b39c8c991a725e611dd8b869e">load_level</a>(level);</div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a4053b12af23cef53eb294729f1cb3aa8"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a4053b12af23cef53eb294729f1cb3aa8">utils::GameRoot3D::unload_all_levels</a></div><div class="ttdeci">void unload_all_levels()</div><div class="ttdoc">Unload all currently loaded levels.</div><div class="ttdef"><b>Definition</b> game_root.cpp:133</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_acbec3f7b39c8c991a725e611dd8b869e"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#acbec3f7b39c8c991a725e611dd8b869e">utils::GameRoot3D::load_level</a></div><div class="ttdeci">Level3D * load_level(gd::Ref&lt; gd::PackedScene &gt; level)</div><div class="ttdoc">shorthand for load_level(level, Transform3D())</div><div class="ttdef"><b>Definition</b> game_root.cpp:102</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="add087bf071383383e68e919173670c47" name="add087bf071383383e68e919173670c47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add087bf071383383e68e919173670c47">&#9670;&#160;</a></span>reset_game_mode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void utils::GameRoot3D::reset_game_mode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Un-set game mode. </p>
<p>Shorthand for set_game_mode(Ref&lt;GameMode&gt;()) </p>
</div>
</div>
<a id="a6c2a1aa2c35808a1b003ae79eac348c2" name="a6c2a1aa2c35808a1b003ae79eac348c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c2a1aa2c35808a1b003ae79eac348c2">&#9670;&#160;</a></span>set_game_mode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void utils::GameRoot3D::set_game_mode </td>
<td>(</td>
<td class="paramtype">gd::Ref&lt; <a class="el" href="classutils_1_1GameMode.html">GameMode</a> &gt;&#160;</td>
<td class="paramname"><em>prototype</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Override the current gamemode. </p>
<p>Replaces game mode requires destroying and respawning all players </p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="af73d3a598b72fcdc7dce372ea3af6e44" name="af73d3a598b72fcdc7dce372ea3af6e44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af73d3a598b72fcdc7dce372ea3af6e44">&#9670;&#160;</a></span>game_state</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">gd::Ref&lt;<a class="el" href="classutils_1_1GameState.html">GameState</a>&gt; utils::GameRoot3D::game_state {}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Active game state. </p>
<p>Will be assigned loaded save data, or game_state_prototype if no save data is found. </p>
</div>
</div>
<a id="af508cc9852b123ea37b94651da0f3c19" name="af508cc9852b123ea37b94651da0f3c19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af508cc9852b123ea37b94651da0f3c19">&#9670;&#160;</a></span>next_player_id</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t utils::GameRoot3D::next_player_id {1}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Next available player ID. </p>
<p>Default is 1 because 0 is the "invalid" player id. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="game__root_8hpp_source.html">game_root.hpp</a></li>
<li>game_root.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 528 B

View File

@ -0,0 +1,91 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classutils_1_1GameState.html">GameState</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">utils::GameState Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classutils_1_1GameState.html">utils::GameState</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_bind_methods</b>() (defined in <a class="el" href="classutils_1_1GameState.html">utils::GameState</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameState.html">utils::GameState</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>GDCLASS</b>(GameState, godot::Resource) (defined in <a class="el" href="classutils_1_1GameState.html">utils::GameState</a>)</td><td class="entry"><a class="el" href="classutils_1_1GameState.html">utils::GameState</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,121 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: utils::GameState Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classutils_1_1GameState.html">GameState</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="classutils_1_1GameState-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">utils::GameState Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Parent class for saved game state.
<a href="classutils_1_1GameState.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="game__state_8hpp_source.html">game_state.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for utils::GameState:</div>
<div class="dyncontent">
<div class="center">
<img src="classutils_1_1GameState.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a24207c80fca337de78ededf4eae9fbd0"><td class="memItemLeft" align="right" valign="top"><a id="a24207c80fca337de78ededf4eae9fbd0" name="a24207c80fca337de78ededf4eae9fbd0"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>GDCLASS</b> (<a class="el" href="classutils_1_1GameState.html">GameState</a>, godot::Resource)</td></tr>
<tr class="separator:a24207c80fca337de78ededf4eae9fbd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-methods" name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:a222230f3f7451b2ed72257e547ce4341"><td class="memItemLeft" align="right" valign="top"><a id="a222230f3f7451b2ed72257e547ce4341" name="a222230f3f7451b2ed72257e547ce4341"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_bind_methods</b> ()</td></tr>
<tr class="separator:a222230f3f7451b2ed72257e547ce4341"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Parent class for saved game state. </p>
<p>Inherit and add godot properties to save persistently. </p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="game__state_8hpp_source.html">game_state.hpp</a></li>
<li>game_state.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 531 B

View File

@ -0,0 +1,95 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classutils_1_1IPlayer.html">IPlayer</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">utils::IPlayer Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classutils_1_1IPlayer.html">utils::IPlayer</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GameRoot3D</b> (defined in <a class="el" href="classutils_1_1IPlayer.html">utils::IPlayer</a>)</td><td class="entry"><a class="el" href="classutils_1_1IPlayer.html">utils::IPlayer</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1IPlayer.html#ad697b5e89246178d99a4c281eaf313af">get_player_id</a>()</td><td class="entry"><a class="el" href="classutils_1_1IPlayer.html">utils::IPlayer</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>player_id</b> (defined in <a class="el" href="classutils_1_1IPlayer.html">utils::IPlayer</a>)</td><td class="entry"><a class="el" href="classutils_1_1IPlayer.html">utils::IPlayer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1IPlayer.html#a0cafb35522002c12a00da6cb408e462c">setup_player_input</a>(PlayerInput *input)=0</td><td class="entry"><a class="el" href="classutils_1_1IPlayer.html">utils::IPlayer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1IPlayer.html#aa5e2d0a33a4114e45b2bd1bea95fa1db">spawn_at_position</a>(gd::Transform3D const &amp;at)=0</td><td class="entry"><a class="el" href="classutils_1_1IPlayer.html">utils::IPlayer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1IPlayer.html#aee51a05e36995e6523c3284b5cef1f42">to_node</a>()=0</td><td class="entry"><a class="el" href="classutils_1_1IPlayer.html">utils::IPlayer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,164 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: utils::IPlayer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classutils_1_1IPlayer.html">IPlayer</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classutils_1_1IPlayer-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">utils::IPlayer Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">
<p>Interface required for player nodes.
<a href="classutils_1_1IPlayer.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="player_8hpp_source.html">player.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0cafb35522002c12a00da6cb408e462c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1IPlayer.html#a0cafb35522002c12a00da6cb408e462c">setup_player_input</a> (<a class="el" href="classutils_1_1PlayerInput.html">PlayerInput</a> *input)=0</td></tr>
<tr class="memdesc:a0cafb35522002c12a00da6cb408e462c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by <a class="el" href="classutils_1_1GameRoot3D.html" title="The root of a game.">GameRoot3D</a> when this player is instantiated or assigned a new <a class="el" href="classutils_1_1PlayerInput.html" title="An event-driven input observer.">PlayerInput</a>. <br /></td></tr>
<tr class="separator:a0cafb35522002c12a00da6cb408e462c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee51a05e36995e6523c3284b5cef1f42"><td class="memItemLeft" align="right" valign="top"><a id="aee51a05e36995e6523c3284b5cef1f42" name="aee51a05e36995e6523c3284b5cef1f42"></a>
virtual gd::Node *&#160;</td><td class="memItemRight" valign="bottom"><b>to_node</b> ()=0</td></tr>
<tr class="memdesc:aee51a05e36995e6523c3284b5cef1f42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert <a class="el" href="classutils_1_1IPlayer.html" title="Interface required for player nodes.">IPlayer</a> instance to node. <br /></td></tr>
<tr class="separator:aee51a05e36995e6523c3284b5cef1f42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5e2d0a33a4114e45b2bd1bea95fa1db"><td class="memItemLeft" align="right" valign="top"><a id="aa5e2d0a33a4114e45b2bd1bea95fa1db" name="aa5e2d0a33a4114e45b2bd1bea95fa1db"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>spawn_at_position</b> (gd::Transform3D const &amp;at)=0</td></tr>
<tr class="memdesc:aa5e2d0a33a4114e45b2bd1bea95fa1db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spawn the player at a given transform, usually the global transform of a <a class="el" href="classutils_1_1SpawnPoint3D.html" title="A location in the game world that the player can spawn at.">SpawnPoint3D</a>. <br /></td></tr>
<tr class="separator:aa5e2d0a33a4114e45b2bd1bea95fa1db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad697b5e89246178d99a4c281eaf313af"><td class="memItemLeft" align="right" valign="top"><a id="ad697b5e89246178d99a4c281eaf313af" name="ad697b5e89246178d99a4c281eaf313af"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>get_player_id</b> ()</td></tr>
<tr class="memdesc:ad697b5e89246178d99a4c281eaf313af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the player id assigned to this instance. <br /></td></tr>
<tr class="separator:ad697b5e89246178d99a4c281eaf313af"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a886564aee16d6d3b3bc703771bd73819"><td class="memItemLeft" align="right" valign="top"><a id="a886564aee16d6d3b3bc703771bd73819" name="a886564aee16d6d3b3bc703771bd73819"></a>
std::optional&lt; uint32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>player_id</b> {std::nullopt}</td></tr>
<tr class="separator:a886564aee16d6d3b3bc703771bd73819"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:af0421a654f3306c48e35f75da5eb8590"><td class="memItemLeft" align="right" valign="top"><a id="af0421a654f3306c48e35f75da5eb8590" name="af0421a654f3306c48e35f75da5eb8590"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>GameRoot3D</b></td></tr>
<tr class="separator:af0421a654f3306c48e35f75da5eb8590"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Interface required for player nodes. </p>
<p>Use multiple inheritance and implement <a class="el" href="classutils_1_1IPlayer.html" title="Interface required for player nodes.">IPlayer</a> to make a regular node usable as a player with <a class="el" href="classutils_1_1GameRoot3D.html" title="The root of a game.">GameRoot3D</a>. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a0cafb35522002c12a00da6cb408e462c" name="a0cafb35522002c12a00da6cb408e462c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cafb35522002c12a00da6cb408e462c">&#9670;&#160;</a></span>setup_player_input()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void utils::IPlayer::setup_player_input </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classutils_1_1PlayerInput.html">PlayerInput</a> *&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Called by <a class="el" href="classutils_1_1GameRoot3D.html" title="The root of a game.">GameRoot3D</a> when this player is instantiated or assigned a new <a class="el" href="classutils_1_1PlayerInput.html" title="An event-driven input observer.">PlayerInput</a>. </p>
<p>Use <a class="el" href="classutils_1_1PlayerInput.html#a52f0f96cd4732ce06016459094d3a714" title="Start listening for action.">PlayerInput::listen_to</a> to register input callbacks. There's no need to keep the input pointer around. As the instance is managed by the <a class="el" href="classutils_1_1GameRoot3D.html" title="The root of a game.">GameRoot3D</a>. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="player_8hpp_source.html">player.hpp</a></li>
<li>player.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,94 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classutils_1_1Level3D.html">Level3D</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">utils::Level3D Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classutils_1_1Level3D.html">utils::Level3D</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_bind_methods</b>() (defined in <a class="el" href="classutils_1_1Level3D.html">utils::Level3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1Level3D.html">utils::Level3D</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1Level3D.html#ad3a56146e02cf14da247c4b0631f6f07">game_mode_prototype</a></td><td class="entry"><a class="el" href="classutils_1_1Level3D.html">utils::Level3D</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GDCLASS</b>(Level3D, gd::Node3D) (defined in <a class="el" href="classutils_1_1Level3D.html">utils::Level3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1Level3D.html">utils::Level3D</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_game_mode_prototype</b>() const (defined in <a class="el" href="classutils_1_1Level3D.html">utils::Level3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1Level3D.html">utils::Level3D</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_game_mode_prototype</b>(gd::Ref&lt; GameMode &gt; prototype) (defined in <a class="el" href="classutils_1_1Level3D.html">utils::Level3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1Level3D.html">utils::Level3D</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,139 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: utils::Level3D Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classutils_1_1Level3D.html">Level3D</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classutils_1_1Level3D-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">utils::Level3D Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>3D level root to be used with <a class="el" href="classutils_1_1GameRoot3D.html" title="The root of a game.">GameRoot3D</a>.
<a href="classutils_1_1Level3D.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="level_8hpp_source.html">level.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for utils::Level3D:</div>
<div class="dyncontent">
<div class="center">
<img src="classutils_1_1Level3D.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a64fcccd409fcb029d207946e51775763"><td class="memItemLeft" align="right" valign="top"><a id="a64fcccd409fcb029d207946e51775763" name="a64fcccd409fcb029d207946e51775763"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_game_mode_prototype</b> (gd::Ref&lt; <a class="el" href="classutils_1_1GameMode.html">GameMode</a> &gt; prototype)</td></tr>
<tr class="separator:a64fcccd409fcb029d207946e51775763"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dbe5f74086a54110ea38e60882715ff"><td class="memItemLeft" align="right" valign="top"><a id="a2dbe5f74086a54110ea38e60882715ff" name="a2dbe5f74086a54110ea38e60882715ff"></a>
gd::Ref&lt; <a class="el" href="classutils_1_1GameMode.html">GameMode</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>get_game_mode_prototype</b> () const</td></tr>
<tr class="separator:a2dbe5f74086a54110ea38e60882715ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a19d852246b29b7012a22a9db487c860f"><td class="memItemLeft" align="right" valign="top"><a id="a19d852246b29b7012a22a9db487c860f" name="a19d852246b29b7012a22a9db487c860f"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>GDCLASS</b> (<a class="el" href="classutils_1_1Level3D.html">Level3D</a>, gd::Node3D)</td></tr>
<tr class="separator:a19d852246b29b7012a22a9db487c860f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-methods" name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:ac8a9f1fd03a7949c7ca1648764f1ed35"><td class="memItemLeft" align="right" valign="top"><a id="ac8a9f1fd03a7949c7ca1648764f1ed35" name="ac8a9f1fd03a7949c7ca1648764f1ed35"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_bind_methods</b> ()</td></tr>
<tr class="separator:ac8a9f1fd03a7949c7ca1648764f1ed35"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:ad3a56146e02cf14da247c4b0631f6f07"><td class="memItemLeft" align="right" valign="top"><a id="ad3a56146e02cf14da247c4b0631f6f07" name="ad3a56146e02cf14da247c4b0631f6f07"></a>
gd::Ref&lt; <a class="el" href="classutils_1_1GameMode.html">GameMode</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>game_mode_prototype</b> {}</td></tr>
<tr class="memdesc:ad3a56146e02cf14da247c4b0631f6f07"><td class="mdescLeft">&#160;</td><td class="mdescRight">The starting state of the game mode to instantiate if this is the "leading" level. <br /></td></tr>
<tr class="separator:ad3a56146e02cf14da247c4b0631f6f07"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>3D level root to be used with <a class="el" href="classutils_1_1GameRoot3D.html" title="The root of a game.">GameRoot3D</a>. </p>
<p>The configured game mode will become the active <a class="el" href="classutils_1_1GameMode.html" title="Stores session-relevant data.">GameMode</a> in <a class="el" href="classutils_1_1GameRoot3D.html" title="The root of a game.">GameRoot3D</a> if one does not exist yet. </p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="level_8hpp_source.html">level.hpp</a></li>
<li>level.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 487 B

View File

@ -0,0 +1,107 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classutils_1_1PlayerInput.html">PlayerInput</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">utils::PlayerInput Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_bind_methods</b>() (defined in <a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a>)</td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>_enter_tree</b>() override (defined in <a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a>)</td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_exit_tree</b>() override (defined in <a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a>)</td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>_process</b>(double deltaTime) override (defined in <a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a>)</td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_unhandled_input</b>(gd::Ref&lt; gd::InputEvent &gt; const &amp;event) override (defined in <a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a>)</td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html#a1b3a6b23e41e3a4b57d916e6ed0fab6b">clear_listeners</a>()</td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html#af9aa77b42fac8fb673089d37105b932c">device</a></td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html#a689cc968b84d6a92c10c541b97e3477e">get_last_mouse_motion</a>()</td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html#a10749b40d6eafb1f6c11dc056f70e380">isPrimary</a></td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html#a99e2dbf29ad4b1d97e7c295407cff335">lastMouseMotion</a></td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html#a52f0f96cd4732ce06016459094d3a714">listen_to</a>(Listener const &amp;listener)</td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html#a437e47975e21f8b61fabd69cebd8f8ba">listen_to</a>(gd::String action, gd::Callable callable)</td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html#a8408ea63291e4c9a93c199a55ccb3f21">listen_to</a>(gd::String negative, gd::String positive, gd::Callable callable)</td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html#a7dff7a6e68eeb89b2ff57b8e5447050d">listeners</a></td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html#aacf94bfd501145c640767a7018cfdb76">primaryExists</a></td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html#a63928906c8769151ef37adcad505de35">set_device</a>(int id)</td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html#aedfe45a2286098d3e5c9bfc00fddd1e1">stop_listening</a>(Node *node)</td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html#a5620664764fc42b545a4304700180275">stop_listening</a>(Listener const &amp;listener)</td><td class="entry"><a class="el" href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,293 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: utils::PlayerInput Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classutils_1_1PlayerInput.html">PlayerInput</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="classutils_1_1PlayerInput-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">utils::PlayerInput Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>An event-driven input observer.
<a href="classutils_1_1PlayerInput.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="player__input_8hpp_source.html">player_input.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for utils::PlayerInput:</div>
<div class="dyncontent">
<div class="center">
<img src="classutils_1_1PlayerInput.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structutils_1_1PlayerInput_1_1Listener.html">Listener</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a class="el" href="classutils_1_1PlayerInput.html" title="An event-driven input observer.">PlayerInput</a> action listener. <a href="structutils_1_1PlayerInput_1_1Listener.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae2189d9c51827d6609874c97ee48bdbf"><td class="memItemLeft" align="right" valign="top"><a id="ae2189d9c51827d6609874c97ee48bdbf" name="ae2189d9c51827d6609874c97ee48bdbf"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_enter_tree</b> () override</td></tr>
<tr class="separator:ae2189d9c51827d6609874c97ee48bdbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0302b419cd7a8d8544467592279df16d"><td class="memItemLeft" align="right" valign="top"><a id="a0302b419cd7a8d8544467592279df16d" name="a0302b419cd7a8d8544467592279df16d"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_exit_tree</b> () override</td></tr>
<tr class="separator:a0302b419cd7a8d8544467592279df16d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ed7a3a7b7c846e8629db3ec3482821b"><td class="memItemLeft" align="right" valign="top"><a id="a2ed7a3a7b7c846e8629db3ec3482821b" name="a2ed7a3a7b7c846e8629db3ec3482821b"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_unhandled_input</b> (gd::Ref&lt; gd::InputEvent &gt; const &amp;event) override</td></tr>
<tr class="separator:a2ed7a3a7b7c846e8629db3ec3482821b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d96ecb1e5f910ec1f8b94f3ead7bb9f"><td class="memItemLeft" align="right" valign="top"><a id="a4d96ecb1e5f910ec1f8b94f3ead7bb9f" name="a4d96ecb1e5f910ec1f8b94f3ead7bb9f"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_process</b> (double deltaTime) override</td></tr>
<tr class="separator:a4d96ecb1e5f910ec1f8b94f3ead7bb9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52f0f96cd4732ce06016459094d3a714"><td class="memItemLeft" align="right" valign="top"><a id="a52f0f96cd4732ce06016459094d3a714" name="a52f0f96cd4732ce06016459094d3a714"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>listen_to</b> (<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html">Listener</a> const &amp;listener)</td></tr>
<tr class="memdesc:a52f0f96cd4732ce06016459094d3a714"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start listening for action. <br /></td></tr>
<tr class="separator:a52f0f96cd4732ce06016459094d3a714"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a437e47975e21f8b61fabd69cebd8f8ba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1PlayerInput.html#a437e47975e21f8b61fabd69cebd8f8ba">listen_to</a> (gd::String action, gd::Callable callable)</td></tr>
<tr class="memdesc:a437e47975e21f8b61fabd69cebd8f8ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start listening for action. <br /></td></tr>
<tr class="separator:a437e47975e21f8b61fabd69cebd8f8ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8408ea63291e4c9a93c199a55ccb3f21"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1PlayerInput.html#a8408ea63291e4c9a93c199a55ccb3f21">listen_to</a> (gd::String negative, gd::String positive, gd::Callable callable)</td></tr>
<tr class="memdesc:a8408ea63291e4c9a93c199a55ccb3f21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start listening for action. <br /></td></tr>
<tr class="separator:a8408ea63291e4c9a93c199a55ccb3f21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedfe45a2286098d3e5c9bfc00fddd1e1"><td class="memItemLeft" align="right" valign="top"><a id="aedfe45a2286098d3e5c9bfc00fddd1e1" name="aedfe45a2286098d3e5c9bfc00fddd1e1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>stop_listening</b> (Node *node)</td></tr>
<tr class="memdesc:aedfe45a2286098d3e5c9bfc00fddd1e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove any listeners related to node. <br /></td></tr>
<tr class="separator:aedfe45a2286098d3e5c9bfc00fddd1e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5620664764fc42b545a4304700180275"><td class="memItemLeft" align="right" valign="top"><a id="a5620664764fc42b545a4304700180275" name="a5620664764fc42b545a4304700180275"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>stop_listening</b> (<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html">Listener</a> const &amp;listener)</td></tr>
<tr class="memdesc:a5620664764fc42b545a4304700180275"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove listeners exactly equal to listener. <br /></td></tr>
<tr class="separator:a5620664764fc42b545a4304700180275"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b3a6b23e41e3a4b57d916e6ed0fab6b"><td class="memItemLeft" align="right" valign="top"><a id="a1b3a6b23e41e3a4b57d916e6ed0fab6b" name="a1b3a6b23e41e3a4b57d916e6ed0fab6b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear_listeners</b> ()</td></tr>
<tr class="memdesc:a1b3a6b23e41e3a4b57d916e6ed0fab6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove all listeners. <br /></td></tr>
<tr class="separator:a1b3a6b23e41e3a4b57d916e6ed0fab6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63928906c8769151ef37adcad505de35"><td class="memItemLeft" align="right" valign="top"><a id="a63928906c8769151ef37adcad505de35" name="a63928906c8769151ef37adcad505de35"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_device</b> (int id)</td></tr>
<tr class="memdesc:a63928906c8769151ef37adcad505de35"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the device observe events from. <br /></td></tr>
<tr class="separator:a63928906c8769151ef37adcad505de35"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a689cc968b84d6a92c10c541b97e3477e"><td class="memItemLeft" align="right" valign="top"><a id="a689cc968b84d6a92c10c541b97e3477e" name="a689cc968b84d6a92c10c541b97e3477e"></a>
static gd::Vector2&#160;</td><td class="memItemRight" valign="bottom"><b>get_last_mouse_motion</b> ()</td></tr>
<tr class="memdesc:a689cc968b84d6a92c10c541b97e3477e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the last stored mouse delta. <br /></td></tr>
<tr class="separator:a689cc968b84d6a92c10c541b97e3477e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-methods" name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:a477edf5df5d239411d87025a7dde58e6"><td class="memItemLeft" align="right" valign="top"><a id="a477edf5df5d239411d87025a7dde58e6" name="a477edf5df5d239411d87025a7dde58e6"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_bind_methods</b> ()</td></tr>
<tr class="separator:a477edf5df5d239411d87025a7dde58e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a10749b40d6eafb1f6c11dc056f70e380"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutils_1_1PlayerInput.html#a10749b40d6eafb1f6c11dc056f70e380">isPrimary</a> {false}</td></tr>
<tr class="memdesc:a10749b40d6eafb1f6c11dc056f70e380"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this the primary instance. <br /></td></tr>
<tr class="separator:a10749b40d6eafb1f6c11dc056f70e380"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9aa77b42fac8fb673089d37105b932c"><td class="memItemLeft" align="right" valign="top"><a id="af9aa77b42fac8fb673089d37105b932c" name="af9aa77b42fac8fb673089d37105b932c"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>device</b> {-1}</td></tr>
<tr class="memdesc:af9aa77b42fac8fb673089d37105b932c"><td class="mdescLeft">&#160;</td><td class="mdescRight">which device to observe events from. <br /></td></tr>
<tr class="separator:af9aa77b42fac8fb673089d37105b932c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dff7a6e68eeb89b2ff57b8e5447050d"><td class="memItemLeft" align="right" valign="top"><a id="a7dff7a6e68eeb89b2ff57b8e5447050d" name="a7dff7a6e68eeb89b2ff57b8e5447050d"></a>
gd::Vector&lt; <a class="el" href="structutils_1_1PlayerInput_1_1Listener.html">Listener</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>listeners</b> {}</td></tr>
<tr class="memdesc:a7dff7a6e68eeb89b2ff57b8e5447050d"><td class="mdescLeft">&#160;</td><td class="mdescRight">current listeners for this instance <br /></td></tr>
<tr class="separator:a7dff7a6e68eeb89b2ff57b8e5447050d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-attribs" name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:a99e2dbf29ad4b1d97e7c295407cff335"><td class="memItemLeft" align="right" valign="top"><a id="a99e2dbf29ad4b1d97e7c295407cff335" name="a99e2dbf29ad4b1d97e7c295407cff335"></a>
static gd::Vector2&#160;</td><td class="memItemRight" valign="bottom"><b>lastMouseMotion</b> {0.f, 0.f}</td></tr>
<tr class="memdesc:a99e2dbf29ad4b1d97e7c295407cff335"><td class="mdescLeft">&#160;</td><td class="mdescRight">The last mouse motion, updated by the primary instance. <br /></td></tr>
<tr class="separator:a99e2dbf29ad4b1d97e7c295407cff335"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacf94bfd501145c640767a7018cfdb76"><td class="memItemLeft" align="right" valign="top"><a id="aacf94bfd501145c640767a7018cfdb76" name="aacf94bfd501145c640767a7018cfdb76"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>primaryExists</b> {false}</td></tr>
<tr class="memdesc:aacf94bfd501145c640767a7018cfdb76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does a primary instance exist. <br /></td></tr>
<tr class="separator:aacf94bfd501145c640767a7018cfdb76"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>An event-driven input observer. </p>
<p>Listen for events with <code>listen_to</code>, registering godot input action names to callbacks. It's possible to register an "axis" by registering a listener with a positive and negative action. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a437e47975e21f8b61fabd69cebd8f8ba" name="a437e47975e21f8b61fabd69cebd8f8ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a437e47975e21f8b61fabd69cebd8f8ba">&#9670;&#160;</a></span>listen_to() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void utils::PlayerInput::listen_to </td>
<td>(</td>
<td class="paramtype">gd::String&#160;</td>
<td class="paramname"><em>action</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">gd::Callable&#160;</td>
<td class="paramname"><em>callable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start listening for action. </p>
<p>Shorthand for <code>listen_to(Listener(action, callable))</code>. </p>
</div>
</div>
<a id="a8408ea63291e4c9a93c199a55ccb3f21" name="a8408ea63291e4c9a93c199a55ccb3f21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8408ea63291e4c9a93c199a55ccb3f21">&#9670;&#160;</a></span>listen_to() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void utils::PlayerInput::listen_to </td>
<td>(</td>
<td class="paramtype">gd::String&#160;</td>
<td class="paramname"><em>negative</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">gd::String&#160;</td>
<td class="paramname"><em>positive</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">gd::Callable&#160;</td>
<td class="paramname"><em>callable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start listening for action. </p>
<p>Shorthand for <code>listen_to(Listener(negative, positive, callable))</code>. </p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a10749b40d6eafb1f6c11dc056f70e380" name="a10749b40d6eafb1f6c11dc056f70e380"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10749b40d6eafb1f6c11dc056f70e380">&#9670;&#160;</a></span>isPrimary</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool utils::PlayerInput::isPrimary {false}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Is this the primary instance. </p>
<p>The primary instance is responsible for updating static variables like lastMouseMotion. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="player__input_8hpp_source.html">player_input.hpp</a></li>
<li>player_input.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 B

View File

@ -0,0 +1,93 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classutils_1_1SpawnPoint3D.html">SpawnPoint3D</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">utils::SpawnPoint3D Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classutils_1_1SpawnPoint3D.html">utils::SpawnPoint3D</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_bind_methods</b>() (defined in <a class="el" href="classutils_1_1SpawnPoint3D.html">utils::SpawnPoint3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1SpawnPoint3D.html">utils::SpawnPoint3D</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>_enter_tree</b>() override (defined in <a class="el" href="classutils_1_1SpawnPoint3D.html">utils::SpawnPoint3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1SpawnPoint3D.html">utils::SpawnPoint3D</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_exit_tree</b>() override (defined in <a class="el" href="classutils_1_1SpawnPoint3D.html">utils::SpawnPoint3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1SpawnPoint3D.html">utils::SpawnPoint3D</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>GDCLASS</b>(SpawnPoint3D, gd::Node3D) (defined in <a class="el" href="classutils_1_1SpawnPoint3D.html">utils::SpawnPoint3D</a>)</td><td class="entry"><a class="el" href="classutils_1_1SpawnPoint3D.html">utils::SpawnPoint3D</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,131 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: utils::SpawnPoint3D Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classutils_1_1SpawnPoint3D.html">SpawnPoint3D</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="classutils_1_1SpawnPoint3D-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">utils::SpawnPoint3D Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>A location in the game world that the player can spawn at.
<a href="classutils_1_1SpawnPoint3D.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="spawn__point_8hpp_source.html">spawn_point.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for utils::SpawnPoint3D:</div>
<div class="dyncontent">
<div class="center">
<img src="classutils_1_1SpawnPoint3D.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa4dd9083f2b88d22d1f486d7a10cc50b"><td class="memItemLeft" align="right" valign="top"><a id="aa4dd9083f2b88d22d1f486d7a10cc50b" name="aa4dd9083f2b88d22d1f486d7a10cc50b"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_enter_tree</b> () override</td></tr>
<tr class="separator:aa4dd9083f2b88d22d1f486d7a10cc50b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab378fe7fb001ca96c3e4b9e86a69a3c1"><td class="memItemLeft" align="right" valign="top"><a id="ab378fe7fb001ca96c3e4b9e86a69a3c1" name="ab378fe7fb001ca96c3e4b9e86a69a3c1"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_exit_tree</b> () override</td></tr>
<tr class="separator:ab378fe7fb001ca96c3e4b9e86a69a3c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a467b0b973e8f1554ff3d811d349a69bc"><td class="memItemLeft" align="right" valign="top"><a id="a467b0b973e8f1554ff3d811d349a69bc" name="a467b0b973e8f1554ff3d811d349a69bc"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>GDCLASS</b> (<a class="el" href="classutils_1_1SpawnPoint3D.html">SpawnPoint3D</a>, gd::Node3D)</td></tr>
<tr class="separator:a467b0b973e8f1554ff3d811d349a69bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-methods" name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:aed4127103fd764d447ca8307cd10eb03"><td class="memItemLeft" align="right" valign="top"><a id="aed4127103fd764d447ca8307cd10eb03" name="aed4127103fd764d447ca8307cd10eb03"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_bind_methods</b> ()</td></tr>
<tr class="separator:aed4127103fd764d447ca8307cd10eb03"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A location in the game world that the player can spawn at. </p>
<p>Registers and de-registers itself with the <a class="el" href="classutils_1_1GameRoot3D.html" title="The root of a game.">GameRoot3D</a> to enable/disable this spawnpoint. </p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="spawn__point_8hpp_source.html">spawn_point.hpp</a></li>
<li>spawn_point.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 B

BIN
html/closed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

12
html/doc.svg Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#4665A2">
<path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/>
</g>
<g style="fill:#D8DFEE;stroke-width:0">
<path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" />
<path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

12
html/docd.svg Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#C4CFE5">
<path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/>
</g>
<g style="fill:#4665A2;stroke-width:0">
<path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" />
<path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

2017
html/doxygen.css Normal file

File diff suppressed because it is too large Load Diff

28
html/doxygen.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

123
html/dynsections.js Normal file
View File

@ -0,0 +1,123 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
$('table.directory tr').
removeClass('odd').filter(':visible:odd').addClass('odd');
}
function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}
/* @license-end */

95
html/files.html Normal file
View File

@ -0,0 +1,95 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">File List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="game__mode_8hpp_source.html"><span class="icondoc"></span></a><b>game_mode.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="game__root_8hpp_source.html"><span class="icondoc"></span></a><b>game_root.hpp</b></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="game__state_8hpp_source.html"><span class="icondoc"></span></a><b>game_state.hpp</b></td><td class="desc"></td></tr>
<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="godot__macros_8h_source.html"><span class="icondoc"></span></a><b>godot_macros.h</b></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="level_8hpp_source.html"><span class="icondoc"></span></a><b>level.hpp</b></td><td class="desc"></td></tr>
<tr id="row_5_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="player_8hpp_source.html"><span class="icondoc"></span></a><b>player.hpp</b></td><td class="desc"></td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="player__input_8hpp_source.html"><span class="icondoc"></span></a><b>player_input.hpp</b></td><td class="desc"></td></tr>
<tr id="row_7_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="register__types_8hpp_source.html"><span class="icondoc"></span></a><b>register_types.hpp</b></td><td class="desc"></td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="spawn__point_8hpp_source.html"><span class="icondoc"></span></a><b>spawn_point.hpp</b></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

11
html/folderclosed.svg Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#4665A2;">
<path d="M1,5.998l-0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm2,-0l-0,16.002c-0,0.796 0.316,1.559 0.879,2.121c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121c0,-3.486 0,-8.514 0,-12c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998Z"/>
</g>
<g style="fill:#D8DFEE;stroke-width:0;">
<path d="M 5.6063709,24.951908 C 4.3924646,24.775461 3.4197129,23.899792 3.1031586,22.698521 L 3.0216155,22.389078 V 13.997725 5.6063709 L 3.1037477,5.2982247 C 3.3956682,4.2029881 4.1802788,3.412126 5.2787258,3.105917 5.5646428,3.0262132 5.6154982,3.0244963 8.0611641,3.0119829 l 2.4911989,-0.012746 1.932009,1.9300342 c 1.344142,1.3427669 1.976319,1.9498819 2.07763,1.9952626 0.137456,0.061571 0.474218,0.066269 6.006826,0.083795 l 5.861206,0.018568 0.29124,0.081916 c 1.094895,0.3079569 1.890116,1.109428 2.175567,2.192667 l 0.08154,0.3094425 V 16 22.389078 l -0.08154,0.309443 c -0.28446,1.079482 -1.086411,1.888085 -2.175567,2.193614 l -0.29124,0.0817 -10.302616,0.0049 c -5.700217,0.0027 -10.4001945,-0.0093 -10.5210471,-0.02684 z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

11
html/folderclosedd.svg Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#C4CFE5;">
<path d="M1,5.998l-0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm2,-0l-0,16.002c-0,0.796 0.316,1.559 0.879,2.121c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121c0,-3.486 0,-8.514 0,-12c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998Z"/>
</g>
<g style="fill:#4665A2;stroke-width:0;">
<path d="M 5.6063709,24.951908 C 4.3924646,24.775461 3.4197129,23.899792 3.1031586,22.698521 L 3.0216155,22.389078 V 13.997725 5.6063709 L 3.1037477,5.2982247 C 3.3956682,4.2029881 4.1802788,3.412126 5.2787258,3.105917 5.5646428,3.0262132 5.6154982,3.0244963 8.0611641,3.0119829 l 2.4911989,-0.012746 1.932009,1.9300342 c 1.344142,1.3427669 1.976319,1.9498819 2.07763,1.9952626 0.137456,0.061571 0.474218,0.066269 6.006826,0.083795 l 5.861206,0.018568 0.29124,0.081916 c 1.094895,0.3079569 1.890116,1.109428 2.175567,2.192667 l 0.08154,0.3094425 V 16 22.389078 l -0.08154,0.309443 c -0.28446,1.079482 -1.086411,1.888085 -2.175567,2.193614 l -0.29124,0.0817 -10.302616,0.0049 c -5.700217,0.0027 -10.4001945,-0.0093 -10.5210471,-0.02684 z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

17
html/folderopen.svg Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#4665A2;">
<path
d="M1,5.998l0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm28,14.415l-3.456,-5.925c-0.538,-0.921 -1.524,-1.488 -2.591,-1.488c-0,0 -12.905,0 -12.906,0c-1.067,0 -2.053,0.567 -2.591,1.488l-4.453,7.635c0.03,0.751 0.342,1.465 0.876,1.998c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121l0,-1.587Zm0,-3.969l0,-6.444c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998l0,12.16l2.729,-4.677c0.896,-1.536 2.54,-2.481 4.318,-2.481c3.354,0 9.552,0 12.906,0c1.778,0 3.422,0.945 4.318,2.481l1.729,2.963Z"
id="path2" />
</g>
<g style="fill:#D8DFEE;stroke-width:0;">
<path
d="M 5.3879408,24.913408 C 4.1598821,24.650818 3.1571088,23.558656 3.053503,22.370876 L 3.0312746,22.116041 5.2606813,18.293515 C 6.486855,16.191126 7.5598351,14.372696 7.6450818,14.25256 8.0043056,13.746312 8.5423079,13.363007 9.2104664,13.137285 l 0.2548351,-0.08609 6.9294785,-0.0097 c 6.805096,-0.0095 6.934944,-0.0084 7.234011,0.06267 0.695577,0.165199 1.290483,0.557253 1.714887,1.130141 0.08158,0.110125 0.938747,1.556711 1.90481,3.214634 l 1.756479,3.014406 -0.0186,0.971942 c -0.01387,0.724723 -0.03365,1.032131 -0.07778,1.208575 -0.242792,0.970733 -0.88732,1.735415 -1.772382,2.102793 -0.58835,0.244217 0.247209,0.227436 -11.161974,0.224159 -9.0281537,-0.0026 -10.3636023,-0.0098 -10.5862902,-0.05746 z"
id="path199" /><path
d="M 3.0126385,11.849829 3.0235061,5.5881684 3.1020974,5.2969283 C 3.3478146,4.3863605 3.93576,3.6757372 4.756668,3.2971229 5.3293315,3.0330025 5.1813272,3.0450949 8.0130385,3.0310668 l 2.5522875,-0.012644 1.918693,1.9107086 c 1.404146,1.3983023 1.964459,1.9332518 2.089351,1.9947704 l 0.170657,0.084062 5.897611,0.019367 c 5.553257,0.018236 5.910365,0.023213 6.116041,0.085231 1.102257,0.3323708 1.857042,1.1184422 2.154229,2.2435244 0.05645,0.2137228 0.06373,0.5643981 0.07519,3.6220748 0.0076,2.032169 -5.42e-4,3.370979 -0.02041,3.349261 -0.0182,-0.0199 -0.414296,-0.691472 -0.880217,-1.492382 -0.46592,-0.80091 -0.93093,-1.577954 -1.033354,-1.726764 -0.735716,-1.0689 -1.983568,-1.844244 -3.315972,-2.060353 -0.280375,-0.04548 -1.345158,-0.05334 -7.238708,-0.05347 -4.713933,-1.09e-4 -6.9931825,0.01221 -7.1717862,0.03874 -1.3002273,0.193134 -2.4770512,0.889916 -3.283628,1.944192 -0.1076466,0.140705 -0.8359664,1.353438 -1.6184885,2.694963 L 3.0017709,18.11149 Z"
id="path201" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

12
html/folderopend.svg Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#C4CFE5;">
<path d="M1,5.998l0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm28,14.415l-3.456,-5.925c-0.538,-0.921 -1.524,-1.488 -2.591,-1.488c-0,0 -12.905,0 -12.906,0c-1.067,0 -2.053,0.567 -2.591,1.488l-4.453,7.635c0.03,0.751 0.342,1.465 0.876,1.998c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121l0,-1.587Zm0,-3.969l0,-6.444c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998l0,12.16l2.729,-4.677c0.896,-1.536 2.54,-2.481 4.318,-2.481c3.354,0 9.552,0 12.906,0c1.778,0 3.422,0.945 4.318,2.481l1.729,2.963Z"/>
</g>
<g style="fill:#4665A2;stroke-width:0;">
<path d="M 5.3879408,24.913408 C 4.1598821,24.650818 3.1571088,23.558656 3.053503,22.370876 L 3.0312746,22.116041 5.2606813,18.293515 C 6.486855,16.191126 7.5598351,14.372696 7.6450818,14.25256 8.0043056,13.746312 8.5423079,13.363007 9.2104664,13.137285 l 0.2548351,-0.08609 6.9294785,-0.0097 c 6.805096,-0.0095 6.934944,-0.0084 7.234011,0.06267 0.695577,0.165199 1.290483,0.557253 1.714887,1.130141 0.08158,0.110125 0.938747,1.556711 1.90481,3.214634 l 1.756479,3.014406 -0.0186,0.971942 c -0.01387,0.724723 -0.03365,1.032131 -0.07778,1.208575 -0.242792,0.970733 -0.88732,1.735415 -1.772382,2.102793 -0.58835,0.244217 0.247209,0.227436 -11.161974,0.224159 -9.0281537,-0.0026 -10.3636023,-0.0098 -10.5862902,-0.05746 z" />
<path d="M 3.0126385,11.849829 3.0235061,5.5881684 3.1020974,5.2969283 C 3.3478146,4.3863605 3.93576,3.6757372 4.756668,3.2971229 5.3293315,3.0330025 5.1813272,3.0450949 8.0130385,3.0310668 l 2.5522875,-0.012644 1.918693,1.9107086 c 1.404146,1.3983023 1.964459,1.9332518 2.089351,1.9947704 l 0.170657,0.084062 5.897611,0.019367 c 5.553257,0.018236 5.910365,0.023213 6.116041,0.085231 1.102257,0.3323708 1.857042,1.1184422 2.154229,2.2435244 0.05645,0.2137228 0.06373,0.5643981 0.07519,3.6220748 0.0076,2.032169 -5.42e-4,3.370979 -0.02041,3.349261 -0.0182,-0.0199 -0.414296,-0.691472 -0.880217,-1.492382 -0.46592,-0.80091 -0.93093,-1.577954 -1.033354,-1.726764 -0.735716,-1.0689 -1.983568,-1.844244 -3.315972,-2.060353 -0.280375,-0.04548 -1.345158,-0.05334 -7.238708,-0.05347 -4.713933,-1.09e-4 -6.9931825,0.01221 -7.1717862,0.03874 -1.3002273,0.193134 -2.4770512,0.889916 -3.283628,1.944192 -0.1076466,0.140705 -0.8359664,1.353438 -1.6184885,2.694963 L 3.0017709,18.11149 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

200
html/functions.html Normal file
View File

@ -0,0 +1,200 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a id="index__5F" name="index__5F"></a>- _ -</h3><ul>
<li>_begin()&#160;:&#160;<a class="el" href="classutils_1_1GameMode.html#aa1b190a57e4106951a559301665739ec">utils::GameMode</a></li>
<li>_end()&#160;:&#160;<a class="el" href="classutils_1_1GameMode.html#ae69ff36bf1c3f60fad279e9991ca2d82">utils::GameMode</a></li>
</ul>
<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>actionNegative&#160;:&#160;<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html#aff19336b1eaed1b4df15fecdd70578ba">utils::PlayerInput::Listener</a></li>
<li>actionPositive&#160;:&#160;<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html#a6b1f868fcc48dfded6806b29aa49fdb1">utils::PlayerInput::Listener</a></li>
</ul>
<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>callable&#160;:&#160;<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html#ac8a7445f1bdc44fcc65f640447eee2c0">utils::PlayerInput::Listener</a></li>
<li>clear_listeners()&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#a1b3a6b23e41e3a4b57d916e6ed0fab6b">utils::PlayerInput</a></li>
</ul>
<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>device&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#af9aa77b42fac8fb673089d37105b932c">utils::PlayerInput</a></li>
</ul>
<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>evaluate()&#160;:&#160;<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html#a5d187489ffaac84a884938d81d4a2fdb">utils::PlayerInput::Listener</a></li>
</ul>
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>find_empty_player_slot()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#ab3895b9b48c4646a876e188d226c5723">utils::GameRoot3D</a></li>
<li>first_boot_level&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#abf16d0f3b8030b758942397dcff1d46a">utils::GameRoot3D</a></li>
</ul>
<h3><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>game_mode&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#abb25b7613e1c7cd4f056020e6990d8e1">utils::GameRoot3D</a></li>
<li>game_mode_prototype&#160;:&#160;<a class="el" href="classutils_1_1Level3D.html#ad3a56146e02cf14da247c4b0631f6f07">utils::Level3D</a></li>
<li>game_state&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#af73d3a598b72fcdc7dce372ea3af6e44">utils::GameRoot3D</a></li>
<li>game_state_prototype&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#ad62b2be46770ba99aa6c2a7800c52aa8">utils::GameRoot3D</a></li>
<li>get_game_mode()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a896b4e4d3b9465a83a10249dbd559662">utils::GameRoot3D</a></li>
<li>get_game_state()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a105011a591cf09368958d4be350ed352">utils::GameRoot3D</a></li>
<li>get_last_mouse_motion()&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#a689cc968b84d6a92c10c541b97e3477e">utils::PlayerInput</a></li>
<li>get_levels()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#aa9ed453a0b416641dfa5154a0b69c79e">utils::GameRoot3D</a></li>
<li>get_player()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a27492f37140fa8af6c6955f2147f5521">utils::GameRoot3D</a></li>
<li>get_player_id()&#160;:&#160;<a class="el" href="classutils_1_1IPlayer.html#ad697b5e89246178d99a4c281eaf313af">utils::IPlayer</a></li>
<li>get_players()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#af176a558f2a3b972c970087c2a1e3d7b">utils::GameRoot3D</a></li>
<li>get_singleton()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#ad1c9387dee7919a8ab5d60b19cba2140">utils::GameRoot3D</a></li>
<li>grab_singleton()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a0fc164bad77a192ff2209eee18e5104b">utils::GameRoot3D</a></li>
</ul>
<h3><a id="index_h" name="index_h"></a>- h -</h3><ul>
<li>has_changed()&#160;:&#160;<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html#af989733fa828d5920c3cc26a440f60b1">utils::PlayerInput::Listener</a></li>
<li>has_singleton()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a13e110d60dffd924248af9c3f6943706">utils::GameRoot3D</a></li>
</ul>
<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>initialize_player()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a865e6d9fe4f9422c0fb974bd6b1222ce">utils::GameRoot3D</a></li>
<li>is_valid_level()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a77e4726bb8fec522669cbb2c068e47d9">utils::GameRoot3D</a></li>
<li>isMouseEvent&#160;:&#160;<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html#a70bb4eed0c2610b74107403742eea990">utils::PlayerInput::Listener</a></li>
<li>isPrimary&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#a10749b40d6eafb1f6c11dc056f70e380">utils::PlayerInput</a></li>
</ul>
<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>lastCached&#160;:&#160;<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html#a84833f896b4ccff9b8e3b0ae789726ab">utils::PlayerInput::Listener</a></li>
<li>lastMouseMotion&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#a99e2dbf29ad4b1d97e7c295407cff335">utils::PlayerInput</a></li>
<li>level_unloaded()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#af34016620adcdc2654358b463769a85f">utils::GameRoot3D</a></li>
<li>levels&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a800421c3b82947156eebcbf730a680db">utils::GameRoot3D</a></li>
<li>listen_to()&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#a52f0f96cd4732ce06016459094d3a714">utils::PlayerInput</a></li>
<li>listeners&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#a7dff7a6e68eeb89b2ff57b8e5447050d">utils::PlayerInput</a></li>
<li>load_level()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#acbec3f7b39c8c991a725e611dd8b869e">utils::GameRoot3D</a></li>
<li>load_level_at()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#ad53d50b5b35e4c13bf84f2d9c0f45a0b">utils::GameRoot3D</a></li>
</ul>
<h3><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>next_player_id&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#af508cc9852b123ea37b94651da0f3c19">utils::GameRoot3D</a></li>
</ul>
<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>player_input_connected()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a85eee9cb258971abe9fe8577314b2556">utils::GameRoot3D</a></li>
<li>player_scene&#160;:&#160;<a class="el" href="classutils_1_1GameMode.html#a7e7258b38b17cde56ba9b130bbaf9908">utils::GameMode</a></li>
<li>players&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#acf48cbe3b2b6dd064cd1665ea8df2b9a">utils::GameRoot3D</a></li>
<li>primaryExists&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#aacf94bfd501145c640767a7018cfdb76">utils::PlayerInput</a></li>
</ul>
<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>register_spawn_point()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a1937044fe05a903610308f8d382de975">utils::GameRoot3D</a></li>
<li>release_singleton()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#adc4455c11d39f8a267091f29ead441ee">utils::GameRoot3D</a></li>
<li>remove_player()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a89953130655a618aefa8f3ea0db63a53">utils::GameRoot3D</a></li>
<li>replace_levels()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a453c8aa3920d7d0adaf2490c63a7d92c">utils::GameRoot3D</a></li>
<li>reset_game_mode()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#add087bf071383383e68e919173670c47">utils::GameRoot3D</a></li>
<li>rng&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a623230c72ced578d7be1b9141b54fbd4">utils::GameRoot3D</a></li>
</ul>
<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>set_device()&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#a63928906c8769151ef37adcad505de35">utils::PlayerInput</a></li>
<li>set_game_mode()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a6c2a1aa2c35808a1b003ae79eac348c2">utils::GameRoot3D</a></li>
<li>setup_player_input()&#160;:&#160;<a class="el" href="classutils_1_1IPlayer.html#a0cafb35522002c12a00da6cb408e462c">utils::IPlayer</a></li>
<li>spawn_at_position()&#160;:&#160;<a class="el" href="classutils_1_1IPlayer.html#aa5e2d0a33a4114e45b2bd1bea95fa1db">utils::IPlayer</a></li>
<li>spawn_player()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a3e74ac9841575d9a915cf7ac6735b42b">utils::GameRoot3D</a></li>
<li>spawn_points&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a116245a9c4e7edf53ec03c6fe78c8462">utils::GameRoot3D</a></li>
<li>stop_listening()&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#aedfe45a2286098d3e5c9bfc00fddd1e1">utils::PlayerInput</a></li>
</ul>
<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>to_node()&#160;:&#160;<a class="el" href="classutils_1_1IPlayer.html#aee51a05e36995e6523c3284b5cef1f42">utils::IPlayer</a></li>
</ul>
<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>unload_all_levels()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a4053b12af23cef53eb294729f1cb3aa8">utils::GameRoot3D</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

167
html/functions_func.html Normal file
View File

@ -0,0 +1,167 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented functions with links to the class documentation for each member:</div>
<h3><a id="index__5F" name="index__5F"></a>- _ -</h3><ul>
<li>_begin()&#160;:&#160;<a class="el" href="classutils_1_1GameMode.html#aa1b190a57e4106951a559301665739ec">utils::GameMode</a></li>
<li>_end()&#160;:&#160;<a class="el" href="classutils_1_1GameMode.html#ae69ff36bf1c3f60fad279e9991ca2d82">utils::GameMode</a></li>
</ul>
<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>clear_listeners()&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#a1b3a6b23e41e3a4b57d916e6ed0fab6b">utils::PlayerInput</a></li>
</ul>
<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>evaluate()&#160;:&#160;<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html#a5d187489ffaac84a884938d81d4a2fdb">utils::PlayerInput::Listener</a></li>
</ul>
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>find_empty_player_slot()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#ab3895b9b48c4646a876e188d226c5723">utils::GameRoot3D</a></li>
</ul>
<h3><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>get_game_mode()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a896b4e4d3b9465a83a10249dbd559662">utils::GameRoot3D</a></li>
<li>get_game_state()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a105011a591cf09368958d4be350ed352">utils::GameRoot3D</a></li>
<li>get_last_mouse_motion()&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#a689cc968b84d6a92c10c541b97e3477e">utils::PlayerInput</a></li>
<li>get_levels()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#aa9ed453a0b416641dfa5154a0b69c79e">utils::GameRoot3D</a></li>
<li>get_player()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a27492f37140fa8af6c6955f2147f5521">utils::GameRoot3D</a></li>
<li>get_player_id()&#160;:&#160;<a class="el" href="classutils_1_1IPlayer.html#ad697b5e89246178d99a4c281eaf313af">utils::IPlayer</a></li>
<li>get_players()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#af176a558f2a3b972c970087c2a1e3d7b">utils::GameRoot3D</a></li>
<li>get_singleton()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#ad1c9387dee7919a8ab5d60b19cba2140">utils::GameRoot3D</a></li>
<li>grab_singleton()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a0fc164bad77a192ff2209eee18e5104b">utils::GameRoot3D</a></li>
</ul>
<h3><a id="index_h" name="index_h"></a>- h -</h3><ul>
<li>has_changed()&#160;:&#160;<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html#af989733fa828d5920c3cc26a440f60b1">utils::PlayerInput::Listener</a></li>
<li>has_singleton()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a13e110d60dffd924248af9c3f6943706">utils::GameRoot3D</a></li>
</ul>
<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>initialize_player()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a865e6d9fe4f9422c0fb974bd6b1222ce">utils::GameRoot3D</a></li>
<li>is_valid_level()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a77e4726bb8fec522669cbb2c068e47d9">utils::GameRoot3D</a></li>
</ul>
<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>level_unloaded()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#af34016620adcdc2654358b463769a85f">utils::GameRoot3D</a></li>
<li>listen_to()&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#a52f0f96cd4732ce06016459094d3a714">utils::PlayerInput</a></li>
<li>load_level()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#acbec3f7b39c8c991a725e611dd8b869e">utils::GameRoot3D</a></li>
<li>load_level_at()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#ad53d50b5b35e4c13bf84f2d9c0f45a0b">utils::GameRoot3D</a></li>
</ul>
<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>player_input_connected()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a85eee9cb258971abe9fe8577314b2556">utils::GameRoot3D</a></li>
</ul>
<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>register_spawn_point()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a1937044fe05a903610308f8d382de975">utils::GameRoot3D</a></li>
<li>release_singleton()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#adc4455c11d39f8a267091f29ead441ee">utils::GameRoot3D</a></li>
<li>remove_player()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a89953130655a618aefa8f3ea0db63a53">utils::GameRoot3D</a></li>
<li>replace_levels()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a453c8aa3920d7d0adaf2490c63a7d92c">utils::GameRoot3D</a></li>
<li>reset_game_mode()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#add087bf071383383e68e919173670c47">utils::GameRoot3D</a></li>
</ul>
<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>set_device()&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#a63928906c8769151ef37adcad505de35">utils::PlayerInput</a></li>
<li>set_game_mode()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a6c2a1aa2c35808a1b003ae79eac348c2">utils::GameRoot3D</a></li>
<li>setup_player_input()&#160;:&#160;<a class="el" href="classutils_1_1IPlayer.html#a0cafb35522002c12a00da6cb408e462c">utils::IPlayer</a></li>
<li>spawn_at_position()&#160;:&#160;<a class="el" href="classutils_1_1IPlayer.html#aa5e2d0a33a4114e45b2bd1bea95fa1db">utils::IPlayer</a></li>
<li>spawn_player()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a3e74ac9841575d9a915cf7ac6735b42b">utils::GameRoot3D</a></li>
<li>stop_listening()&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#aedfe45a2286098d3e5c9bfc00fddd1e1">utils::PlayerInput</a></li>
</ul>
<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>to_node()&#160;:&#160;<a class="el" href="classutils_1_1IPlayer.html#aee51a05e36995e6523c3284b5cef1f42">utils::IPlayer</a></li>
</ul>
<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>unload_all_levels()&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a4053b12af23cef53eb294729f1cb3aa8">utils::GameRoot3D</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

102
html/functions_vars.html Normal file
View File

@ -0,0 +1,102 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: Class Members - Variables</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented variables with links to the class documentation for each member:</div><ul>
<li>actionNegative&#160;:&#160;<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html#aff19336b1eaed1b4df15fecdd70578ba">utils::PlayerInput::Listener</a></li>
<li>actionPositive&#160;:&#160;<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html#a6b1f868fcc48dfded6806b29aa49fdb1">utils::PlayerInput::Listener</a></li>
<li>callable&#160;:&#160;<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html#ac8a7445f1bdc44fcc65f640447eee2c0">utils::PlayerInput::Listener</a></li>
<li>device&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#af9aa77b42fac8fb673089d37105b932c">utils::PlayerInput</a></li>
<li>first_boot_level&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#abf16d0f3b8030b758942397dcff1d46a">utils::GameRoot3D</a></li>
<li>game_mode&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#abb25b7613e1c7cd4f056020e6990d8e1">utils::GameRoot3D</a></li>
<li>game_mode_prototype&#160;:&#160;<a class="el" href="classutils_1_1Level3D.html#ad3a56146e02cf14da247c4b0631f6f07">utils::Level3D</a></li>
<li>game_state&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#af73d3a598b72fcdc7dce372ea3af6e44">utils::GameRoot3D</a></li>
<li>game_state_prototype&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#ad62b2be46770ba99aa6c2a7800c52aa8">utils::GameRoot3D</a></li>
<li>isMouseEvent&#160;:&#160;<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html#a70bb4eed0c2610b74107403742eea990">utils::PlayerInput::Listener</a></li>
<li>isPrimary&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#a10749b40d6eafb1f6c11dc056f70e380">utils::PlayerInput</a></li>
<li>lastCached&#160;:&#160;<a class="el" href="structutils_1_1PlayerInput_1_1Listener.html#a84833f896b4ccff9b8e3b0ae789726ab">utils::PlayerInput::Listener</a></li>
<li>lastMouseMotion&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#a99e2dbf29ad4b1d97e7c295407cff335">utils::PlayerInput</a></li>
<li>levels&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a800421c3b82947156eebcbf730a680db">utils::GameRoot3D</a></li>
<li>listeners&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#a7dff7a6e68eeb89b2ff57b8e5447050d">utils::PlayerInput</a></li>
<li>next_player_id&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#af508cc9852b123ea37b94651da0f3c19">utils::GameRoot3D</a></li>
<li>player_scene&#160;:&#160;<a class="el" href="classutils_1_1GameMode.html#a7e7258b38b17cde56ba9b130bbaf9908">utils::GameMode</a></li>
<li>players&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#acf48cbe3b2b6dd064cd1665ea8df2b9a">utils::GameRoot3D</a></li>
<li>primaryExists&#160;:&#160;<a class="el" href="classutils_1_1PlayerInput.html#aacf94bfd501145c640767a7018cfdb76">utils::PlayerInput</a></li>
<li>rng&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a623230c72ced578d7be1b9141b54fbd4">utils::GameRoot3D</a></li>
<li>spawn_points&#160;:&#160;<a class="el" href="classutils_1_1GameRoot3D.html#a116245a9c4e7edf53ec03c6fe78c8462">utils::GameRoot3D</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,110 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: game_mode.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">game_mode.hpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef GAME_MODE_HPP</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define GAME_MODE_HPP</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &lt;godot_cpp/classes/packed_scene.hpp&gt;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &lt;godot_cpp/classes/resource.hpp&gt;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="keyword">namespace </span>gd = godot;</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="keyword">namespace </span>utils {</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"><a class="line" href="classutils_1_1GameMode.html"> 15</a></span><span class="keyword">class </span><a class="code hl_class" href="classutils_1_1GameMode.html">GameMode</a> : <span class="keyword">public</span> gd::Resource {</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> GDCLASS(<a class="code hl_class" href="classutils_1_1GameMode.html">GameMode</a>, gd::Resource);</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">static</span> <span class="keywordtype">void</span> _bind_methods();</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1GameMode.html#aa1b190a57e4106951a559301665739ec">_begin</a>(); </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1GameMode.html#ae69ff36bf1c3f60fad279e9991ca2d82">_end</a>(); </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keywordtype">void</span> set_player_scene(gd::Ref&lt;gd::PackedScene&gt; scene);</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> gd::Ref&lt;gd::PackedScene&gt; get_player_scene() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="classutils_1_1GameMode.html#a7e7258b38b17cde56ba9b130bbaf9908"> 25</a></span> gd::Ref&lt;gd::PackedScene&gt; <a class="code hl_variable" href="classutils_1_1GameMode.html#a7e7258b38b17cde56ba9b130bbaf9908">player_scene</a>{}; </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span>};</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span>}</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#endif </span><span class="comment">// !GAME_MODE_HPP</span></div>
<div class="ttc" id="aclassutils_1_1GameMode_html"><div class="ttname"><a href="classutils_1_1GameMode.html">utils::GameMode</a></div><div class="ttdoc">Stores session-relevant data.</div><div class="ttdef"><b>Definition</b> game_mode.hpp:15</div></div>
<div class="ttc" id="aclassutils_1_1GameMode_html_a7e7258b38b17cde56ba9b130bbaf9908"><div class="ttname"><a href="classutils_1_1GameMode.html#a7e7258b38b17cde56ba9b130bbaf9908">utils::GameMode::player_scene</a></div><div class="ttdeci">gd::Ref&lt; gd::PackedScene &gt; player_scene</div><div class="ttdoc">The scene to instantiate when spawning a player.</div><div class="ttdef"><b>Definition</b> game_mode.hpp:25</div></div>
<div class="ttc" id="aclassutils_1_1GameMode_html_aa1b190a57e4106951a559301665739ec"><div class="ttname"><a href="classutils_1_1GameMode.html#aa1b190a57e4106951a559301665739ec">utils::GameMode::_begin</a></div><div class="ttdeci">virtual void _begin()</div><div class="ttdoc">Called when the match begins.</div><div class="ttdef"><b>Definition</b> game_mode.cpp:13</div></div>
<div class="ttc" id="aclassutils_1_1GameMode_html_ae69ff36bf1c3f60fad279e9991ca2d82"><div class="ttname"><a href="classutils_1_1GameMode.html#ae69ff36bf1c3f60fad279e9991ca2d82">utils::GameMode::_end</a></div><div class="ttdeci">virtual void _end()</div><div class="ttdoc">Called when the match is ending.</div><div class="ttdef"><b>Definition</b> game_mode.cpp:14</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,206 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: game_root.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">game_root.hpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef GAME_ROOT_HPP</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define GAME_ROOT_HPP</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;game_mode.hpp&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;game_state.hpp&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;level.hpp&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &lt;godot_cpp/classes/node.hpp&gt;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &lt;godot_cpp/classes/packed_scene.hpp&gt;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;godot_cpp/classes/random_number_generator.hpp&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &lt;godot_cpp/templates/hash_map.hpp&gt;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;godot_cpp/templates/hash_set.hpp&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &lt;godot_cpp/templates/pair.hpp&gt;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &lt;godot_cpp/templates/pair.hpp&gt;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;godot_cpp/templates/vector.hpp&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="keyword">namespace </span>gd = godot;</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">namespace </span>utils {</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="keyword">class </span>PlayerInput;</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">class </span>IPlayer;</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="keyword">class </span>SpawnPoint3D;</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="classutils_1_1GameRoot3D.html"> 28</a></span><span class="keyword">class </span><a class="code hl_class" href="classutils_1_1GameRoot3D.html">GameRoot3D</a> : <span class="keyword">public</span> gd::Node {</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> GDCLASS(<a class="code hl_class" href="classutils_1_1GameRoot3D.html">GameRoot3D</a>, gd::Node);</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">static</span> <span class="keywordtype">void</span> _bind_methods();</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">static</span> <a class="code hl_class" href="classutils_1_1GameRoot3D.html">GameRoot3D</a> *<a class="code hl_function" href="classutils_1_1GameRoot3D.html#ad1c9387dee7919a8ab5d60b19cba2140">get_singleton</a>();</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classutils_1_1GameRoot3D.html#a13e110d60dffd924248af9c3f6943706">has_singleton</a>();</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> _enter_tree() <span class="keyword">override</span>;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> _ready() <span class="keyword">override</span>;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> _exit_tree() <span class="keyword">override</span>;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1GameRoot3D.html#a85eee9cb258971abe9fe8577314b2556">player_input_connected</a>();</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1GameRoot3D.html#a89953130655a618aefa8f3ea0db63a53">remove_player</a>(uint32_t player_id);</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="comment">// calls remove_player for every used player input slot</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">void</span> remove_all_players();</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classutils_1_1GameRoot3D.html#a865e6d9fe4f9422c0fb974bd6b1222ce">initialize_player</a>(<a class="code hl_class" href="classutils_1_1IPlayer.html">IPlayer</a> *player, uint32_t <span class="keywordtype">id</span>);</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1GameRoot3D.html#add087bf071383383e68e919173670c47">reset_game_mode</a>();</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <a class="code hl_class" href="classutils_1_1Level3D.html">Level3D</a> *<a class="code hl_function" href="classutils_1_1GameRoot3D.html#acbec3f7b39c8c991a725e611dd8b869e">load_level</a>(gd::Ref&lt;gd::PackedScene&gt; level);</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <a class="code hl_class" href="classutils_1_1Level3D.html">Level3D</a> *<a class="code hl_function" href="classutils_1_1GameRoot3D.html#ad53d50b5b35e4c13bf84f2d9c0f45a0b">load_level_at</a>(gd::Ref&lt;gd::PackedScene&gt; level, gd::Transform3D at);</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1GameRoot3D.html#a4053b12af23cef53eb294729f1cb3aa8">unload_all_levels</a>();</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1GameRoot3D.html#a453c8aa3920d7d0adaf2490c63a7d92c">replace_levels</a>(gd::Ref&lt;gd::PackedScene&gt; level);</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1GameRoot3D.html#a1937044fe05a903610308f8d382de975">register_spawn_point</a>(<a class="code hl_class" href="classutils_1_1SpawnPoint3D.html">SpawnPoint3D</a> *spawn_point);</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="comment">// remove a spawnpoint so it can&#39;t be used to spawn players</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">void</span> unregister_spawn_point(<a class="code hl_class" href="classutils_1_1SpawnPoint3D.html">SpawnPoint3D</a> *spawn_point);</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">void</span> place_player_at_spawnpoint(<a class="code hl_class" href="classutils_1_1IPlayer.html">IPlayer</a> *player);</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">void</span> player_despawned(uint32_t <span class="keywordtype">id</span>);</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1GameRoot3D.html#a6c2a1aa2c35808a1b003ae79eac348c2">set_game_mode</a>(gd::Ref&lt;GameMode&gt; prototype);</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_class" href="classutils_1_1GameMode.html">GameMode</a> *<a class="code hl_function" href="classutils_1_1GameRoot3D.html#a896b4e4d3b9465a83a10249dbd559662">get_game_mode</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <a class="code hl_class" href="classutils_1_1GameState.html">GameState</a> *<a class="code hl_function" href="classutils_1_1GameRoot3D.html#a105011a591cf09368958d4be350ed352">get_game_state</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> gd::HashMap&lt;gd::StringName, Level3D *&gt; &amp;<a class="code hl_function" href="classutils_1_1GameRoot3D.html#aa9ed453a0b416641dfa5154a0b69c79e">get_levels</a>();</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <a class="code hl_class" href="classutils_1_1IPlayer.html">IPlayer</a> *<a class="code hl_function" href="classutils_1_1GameRoot3D.html#a27492f37140fa8af6c6955f2147f5521">get_player</a>(uint32_t <span class="keywordtype">id</span>);</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> gd::Vector&lt;IPlayer*&gt; <a class="code hl_function" href="classutils_1_1GameRoot3D.html#af176a558f2a3b972c970087c2a1e3d7b">get_players</a>();</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">void</span> set_first_boot_level(gd::Ref&lt;gd::PackedScene&gt; level);</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> gd::Ref&lt;gd::PackedScene&gt; get_first_boot_level() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">void</span> set_game_state_prototype(gd::Ref&lt;GameState&gt; <a class="code hl_variable" href="classutils_1_1GameRoot3D.html#af73d3a598b72fcdc7dce372ea3af6e44">game_state</a>);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> gd::Ref&lt;GameState&gt; get_game_state_prototype() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="keyword">protected</span>:</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1GameRoot3D.html#a0fc164bad77a192ff2209eee18e5104b">grab_singleton</a>();</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1GameRoot3D.html#adc4455c11d39f8a267091f29ead441ee">release_singleton</a>();</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> uint32_t <a class="code hl_function" href="classutils_1_1GameRoot3D.html#ab3895b9b48c4646a876e188d226c5723">find_empty_player_slot</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <a class="code hl_class" href="classutils_1_1IPlayer.html">IPlayer</a> *<a class="code hl_function" href="classutils_1_1GameRoot3D.html#a3e74ac9841575d9a915cf7ac6735b42b">spawn_player</a>(uint32_t <span class="keywordtype">id</span>);</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1GameRoot3D.html#af34016620adcdc2654358b463769a85f">level_unloaded</a>(gd::StringName scene_path);</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classutils_1_1GameRoot3D.html#a77e4726bb8fec522669cbb2c068e47d9">is_valid_level</a>(gd::Ref&lt;gd::PackedScene&gt; &amp;level);</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">static</span> <a class="code hl_class" href="classutils_1_1GameRoot3D.html">GameRoot3D</a> *singleton_instance;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="classutils_1_1GameRoot3D.html#af508cc9852b123ea37b94651da0f3c19"> 131</a></span> uint32_t <a class="code hl_variable" href="classutils_1_1GameRoot3D.html#af508cc9852b123ea37b94651da0f3c19">next_player_id</a>{1}; </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="classutils_1_1GameRoot3D.html#acf48cbe3b2b6dd064cd1665ea8df2b9a"> 132</a></span> gd::HashMap&lt;uint32_t, gd::Pair&lt;PlayerInput*, IPlayer*&gt;&gt; <a class="code hl_variable" href="classutils_1_1GameRoot3D.html#acf48cbe3b2b6dd064cd1665ea8df2b9a">players</a>{}; </div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"><a class="line" href="classutils_1_1GameRoot3D.html#a623230c72ced578d7be1b9141b54fbd4"> 134</a></span> gd::RandomNumberGenerator <a class="code hl_variable" href="classutils_1_1GameRoot3D.html#a623230c72ced578d7be1b9141b54fbd4">rng</a>{}; </div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"><a class="line" href="classutils_1_1GameRoot3D.html#a800421c3b82947156eebcbf730a680db"> 135</a></span> gd::HashMap&lt;gd::StringName, Level3D*&gt; <a class="code hl_variable" href="classutils_1_1GameRoot3D.html#a800421c3b82947156eebcbf730a680db">levels</a>{}; </div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="classutils_1_1GameRoot3D.html#a116245a9c4e7edf53ec03c6fe78c8462"> 136</a></span> gd::Vector&lt;SpawnPoint3D*&gt; <a class="code hl_variable" href="classutils_1_1GameRoot3D.html#a116245a9c4e7edf53ec03c6fe78c8462">spawn_points</a>{}; </div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="classutils_1_1GameRoot3D.html#abb25b7613e1c7cd4f056020e6990d8e1"> 137</a></span> gd::Ref&lt;GameMode&gt; <a class="code hl_variable" href="classutils_1_1GameRoot3D.html#abb25b7613e1c7cd4f056020e6990d8e1">game_mode</a>{}; </div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="classutils_1_1GameRoot3D.html#af73d3a598b72fcdc7dce372ea3af6e44"> 142</a></span> gd::Ref&lt;GameState&gt; <a class="code hl_variable" href="classutils_1_1GameRoot3D.html#af73d3a598b72fcdc7dce372ea3af6e44">game_state</a>{};</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"><a class="line" href="classutils_1_1GameRoot3D.html#abf16d0f3b8030b758942397dcff1d46a"> 144</a></span> gd::Ref&lt;gd::PackedScene&gt; <a class="code hl_variable" href="classutils_1_1GameRoot3D.html#abf16d0f3b8030b758942397dcff1d46a">first_boot_level</a>{}; </div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="classutils_1_1GameRoot3D.html#ad62b2be46770ba99aa6c2a7800c52aa8"> 145</a></span> gd::Ref&lt;GameState&gt; <a class="code hl_variable" href="classutils_1_1GameRoot3D.html#ad62b2be46770ba99aa6c2a7800c52aa8">game_state_prototype</a>{}; </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span>};</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span>}</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> </div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="preprocessor">#endif </span><span class="comment">// !GAME_ROOT_HPP</span></div>
<div class="ttc" id="aclassutils_1_1GameMode_html"><div class="ttname"><a href="classutils_1_1GameMode.html">utils::GameMode</a></div><div class="ttdoc">Stores session-relevant data.</div><div class="ttdef"><b>Definition</b> game_mode.hpp:15</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html"><div class="ttname"><a href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></div><div class="ttdoc">The root of a game.</div><div class="ttdef"><b>Definition</b> game_root.hpp:28</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a0fc164bad77a192ff2209eee18e5104b"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a0fc164bad77a192ff2209eee18e5104b">utils::GameRoot3D::grab_singleton</a></div><div class="ttdeci">void grab_singleton()</div><div class="ttdoc">Attempt to make 'this' the current singleton instance.</div><div class="ttdef"><b>Definition</b> game_root.cpp:249</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a105011a591cf09368958d4be350ed352"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a105011a591cf09368958d4be350ed352">utils::GameRoot3D::get_game_state</a></div><div class="ttdeci">GameState * get_game_state() const</div><div class="ttdoc">Get the current active game state.</div><div class="ttdef"><b>Definition</b> game_root.cpp:203</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a116245a9c4e7edf53ec03c6fe78c8462"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a116245a9c4e7edf53ec03c6fe78c8462">utils::GameRoot3D::spawn_points</a></div><div class="ttdeci">gd::Vector&lt; SpawnPoint3D * &gt; spawn_points</div><div class="ttdoc">all currently available spawn points.</div><div class="ttdef"><b>Definition</b> game_root.hpp:136</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a13e110d60dffd924248af9c3f6943706"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a13e110d60dffd924248af9c3f6943706">utils::GameRoot3D::has_singleton</a></div><div class="ttdeci">static bool has_singleton()</div><div class="ttdoc">returns true if there is currently a singleton active for GameRoot</div><div class="ttdef"><b>Definition</b> game_root.cpp:35</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a1937044fe05a903610308f8d382de975"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a1937044fe05a903610308f8d382de975">utils::GameRoot3D::register_spawn_point</a></div><div class="ttdeci">void register_spawn_point(SpawnPoint3D *spawn_point)</div><div class="ttdoc">Register a spawnpoint for use when spawning players.</div><div class="ttdef"><b>Definition</b> game_root.cpp:146</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a27492f37140fa8af6c6955f2147f5521"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a27492f37140fa8af6c6955f2147f5521">utils::GameRoot3D::get_player</a></div><div class="ttdeci">IPlayer * get_player(uint32_t id)</div><div class="ttdoc">Get the player instance associated with id.</div><div class="ttdef"><b>Definition</b> game_root.cpp:211</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a3e74ac9841575d9a915cf7ac6735b42b"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a3e74ac9841575d9a915cf7ac6735b42b">utils::GameRoot3D::spawn_player</a></div><div class="ttdeci">IPlayer * spawn_player(uint32_t id)</div><div class="ttdoc">Spawn a player to be associated with id.</div><div class="ttdef"><b>Definition</b> game_root.cpp:275</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a4053b12af23cef53eb294729f1cb3aa8"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a4053b12af23cef53eb294729f1cb3aa8">utils::GameRoot3D::unload_all_levels</a></div><div class="ttdeci">void unload_all_levels()</div><div class="ttdoc">Unload all currently loaded levels.</div><div class="ttdef"><b>Definition</b> game_root.cpp:133</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a453c8aa3920d7d0adaf2490c63a7d92c"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a453c8aa3920d7d0adaf2490c63a7d92c">utils::GameRoot3D::replace_levels</a></div><div class="ttdeci">void replace_levels(gd::Ref&lt; gd::PackedScene &gt; level)</div><div class="ttdoc">Replace all currently loaded levels with a new level.</div><div class="ttdef"><b>Definition</b> game_root.cpp:141</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a623230c72ced578d7be1b9141b54fbd4"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a623230c72ced578d7be1b9141b54fbd4">utils::GameRoot3D::rng</a></div><div class="ttdeci">gd::RandomNumberGenerator rng</div><div class="ttdoc">Global random number generator.</div><div class="ttdef"><b>Definition</b> game_root.hpp:134</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a6c2a1aa2c35808a1b003ae79eac348c2"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a6c2a1aa2c35808a1b003ae79eac348c2">utils::GameRoot3D::set_game_mode</a></div><div class="ttdeci">void set_game_mode(gd::Ref&lt; GameMode &gt; prototype)</div><div class="ttdoc">Override the current gamemode.</div><div class="ttdef"><b>Definition</b> game_root.cpp:175</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a77e4726bb8fec522669cbb2c068e47d9"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a77e4726bb8fec522669cbb2c068e47d9">utils::GameRoot3D::is_valid_level</a></div><div class="ttdeci">static bool is_valid_level(gd::Ref&lt; gd::PackedScene &gt; &amp;level)</div><div class="ttdoc">Check if a scene is a valid level.</div><div class="ttdef"><b>Definition</b> game_root.cpp:299</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a800421c3b82947156eebcbf730a680db"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a800421c3b82947156eebcbf730a680db">utils::GameRoot3D::levels</a></div><div class="ttdeci">gd::HashMap&lt; gd::StringName, Level3D * &gt; levels</div><div class="ttdoc">all currently active levels identified by their resource paths.</div><div class="ttdef"><b>Definition</b> game_root.hpp:135</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a85eee9cb258971abe9fe8577314b2556"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a85eee9cb258971abe9fe8577314b2556">utils::GameRoot3D::player_input_connected</a></div><div class="ttdeci">void player_input_connected()</div><div class="ttdoc">Instantiate a new PlayerInput.</div><div class="ttdef"><b>Definition</b> game_root.cpp:53</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a865e6d9fe4f9422c0fb974bd6b1222ce"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a865e6d9fe4f9422c0fb974bd6b1222ce">utils::GameRoot3D::initialize_player</a></div><div class="ttdeci">bool initialize_player(IPlayer *player, uint32_t id)</div><div class="ttdoc">Initialize and register a player instance.</div><div class="ttdef"><b>Definition</b> game_root.cpp:84</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a896b4e4d3b9465a83a10249dbd559662"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a896b4e4d3b9465a83a10249dbd559662">utils::GameRoot3D::get_game_mode</a></div><div class="ttdeci">GameMode * get_game_mode() const</div><div class="ttdoc">get the current active game mode.</div><div class="ttdef"><b>Definition</b> game_root.cpp:199</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_a89953130655a618aefa8f3ea0db63a53"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#a89953130655a618aefa8f3ea0db63a53">utils::GameRoot3D::remove_player</a></div><div class="ttdeci">void remove_player(uint32_t player_id)</div><div class="ttdoc">Force-disconnect a player.</div><div class="ttdef"><b>Definition</b> game_root.cpp:60</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_aa9ed453a0b416641dfa5154a0b69c79e"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#aa9ed453a0b416641dfa5154a0b69c79e">utils::GameRoot3D::get_levels</a></div><div class="ttdeci">gd::HashMap&lt; gd::StringName, Level3D * &gt; &amp; get_levels()</div><div class="ttdoc">Returns all currently active levels.</div><div class="ttdef"><b>Definition</b> game_root.cpp:207</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_ab3895b9b48c4646a876e188d226c5723"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#ab3895b9b48c4646a876e188d226c5723">utils::GameRoot3D::find_empty_player_slot</a></div><div class="ttdeci">uint32_t find_empty_player_slot() const</div><div class="ttdoc">Find a Player Input device not yet associated with a player.</div><div class="ttdef"><b>Definition</b> game_root.cpp:266</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_abb25b7613e1c7cd4f056020e6990d8e1"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#abb25b7613e1c7cd4f056020e6990d8e1">utils::GameRoot3D::game_mode</a></div><div class="ttdeci">gd::Ref&lt; GameMode &gt; game_mode</div><div class="ttdoc">current active gamemode.</div><div class="ttdef"><b>Definition</b> game_root.hpp:137</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_abf16d0f3b8030b758942397dcff1d46a"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#abf16d0f3b8030b758942397dcff1d46a">utils::GameRoot3D::first_boot_level</a></div><div class="ttdeci">gd::Ref&lt; gd::PackedScene &gt; first_boot_level</div><div class="ttdoc">The level to boot into on startup.</div><div class="ttdef"><b>Definition</b> game_root.hpp:144</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_acbec3f7b39c8c991a725e611dd8b869e"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#acbec3f7b39c8c991a725e611dd8b869e">utils::GameRoot3D::load_level</a></div><div class="ttdeci">Level3D * load_level(gd::Ref&lt; gd::PackedScene &gt; level)</div><div class="ttdoc">shorthand for load_level(level, Transform3D())</div><div class="ttdef"><b>Definition</b> game_root.cpp:102</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_acf48cbe3b2b6dd064cd1665ea8df2b9a"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#acf48cbe3b2b6dd064cd1665ea8df2b9a">utils::GameRoot3D::players</a></div><div class="ttdeci">gd::HashMap&lt; uint32_t, gd::Pair&lt; PlayerInput *, IPlayer * &gt; &gt; players</div><div class="ttdoc">all players by id by input device.</div><div class="ttdef"><b>Definition</b> game_root.hpp:132</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_ad1c9387dee7919a8ab5d60b19cba2140"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#ad1c9387dee7919a8ab5d60b19cba2140">utils::GameRoot3D::get_singleton</a></div><div class="ttdeci">static GameRoot3D * get_singleton()</div><div class="ttdoc">get the current active singleton instance of GameRoot</div><div class="ttdef"><b>Definition</b> game_root.cpp:31</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_ad53d50b5b35e4c13bf84f2d9c0f45a0b"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#ad53d50b5b35e4c13bf84f2d9c0f45a0b">utils::GameRoot3D::load_level_at</a></div><div class="ttdeci">Level3D * load_level_at(gd::Ref&lt; gd::PackedScene &gt; level, gd::Transform3D at)</div><div class="ttdoc">Load a level, only works if 'level' is a valid scene where the root Node can cast to 'Level3D'.</div><div class="ttdef"><b>Definition</b> game_root.cpp:106</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_ad62b2be46770ba99aa6c2a7800c52aa8"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#ad62b2be46770ba99aa6c2a7800c52aa8">utils::GameRoot3D::game_state_prototype</a></div><div class="ttdeci">gd::Ref&lt; GameState &gt; game_state_prototype</div><div class="ttdoc">The default game state data used for game_state if no save data is available.</div><div class="ttdef"><b>Definition</b> game_root.hpp:145</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_adc4455c11d39f8a267091f29ead441ee"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#adc4455c11d39f8a267091f29ead441ee">utils::GameRoot3D::release_singleton</a></div><div class="ttdeci">void release_singleton()</div><div class="ttdoc">Attempt to stop being the active singleton instance.</div><div class="ttdef"><b>Definition</b> game_root.cpp:258</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_add087bf071383383e68e919173670c47"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#add087bf071383383e68e919173670c47">utils::GameRoot3D::reset_game_mode</a></div><div class="ttdeci">void reset_game_mode()</div><div class="ttdoc">Un-set game mode.</div><div class="ttdef"><b>Definition</b> game_root.cpp:98</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_af176a558f2a3b972c970087c2a1e3d7b"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#af176a558f2a3b972c970087c2a1e3d7b">utils::GameRoot3D::get_players</a></div><div class="ttdeci">gd::Vector&lt; IPlayer * &gt; get_players()</div><div class="ttdoc">Get all players in a list.</div><div class="ttdef"><b>Definition</b> game_root.cpp:215</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_af34016620adcdc2654358b463769a85f"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#af34016620adcdc2654358b463769a85f">utils::GameRoot3D::level_unloaded</a></div><div class="ttdeci">void level_unloaded(gd::StringName scene_path)</div><div class="ttdoc">Callback for a level exiting the tree.</div><div class="ttdef"><b>Definition</b> game_root.cpp:295</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_af508cc9852b123ea37b94651da0f3c19"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#af508cc9852b123ea37b94651da0f3c19">utils::GameRoot3D::next_player_id</a></div><div class="ttdeci">uint32_t next_player_id</div><div class="ttdoc">Next available player ID.</div><div class="ttdef"><b>Definition</b> game_root.hpp:131</div></div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html_af73d3a598b72fcdc7dce372ea3af6e44"><div class="ttname"><a href="classutils_1_1GameRoot3D.html#af73d3a598b72fcdc7dce372ea3af6e44">utils::GameRoot3D::game_state</a></div><div class="ttdeci">gd::Ref&lt; GameState &gt; game_state</div><div class="ttdoc">Active game state.</div><div class="ttdef"><b>Definition</b> game_root.hpp:142</div></div>
<div class="ttc" id="aclassutils_1_1GameState_html"><div class="ttname"><a href="classutils_1_1GameState.html">utils::GameState</a></div><div class="ttdoc">Parent class for saved game state.</div><div class="ttdef"><b>Definition</b> game_state.hpp:11</div></div>
<div class="ttc" id="aclassutils_1_1IPlayer_html"><div class="ttname"><a href="classutils_1_1IPlayer.html">utils::IPlayer</a></div><div class="ttdoc">Interface required for player nodes.</div><div class="ttdef"><b>Definition</b> player.hpp:19</div></div>
<div class="ttc" id="aclassutils_1_1Level3D_html"><div class="ttname"><a href="classutils_1_1Level3D.html">utils::Level3D</a></div><div class="ttdoc">3D level root to be used with GameRoot3D.</div><div class="ttdef"><b>Definition</b> level.hpp:14</div></div>
<div class="ttc" id="aclassutils_1_1SpawnPoint3D_html"><div class="ttname"><a href="classutils_1_1SpawnPoint3D.html">utils::SpawnPoint3D</a></div><div class="ttdoc">A location in the game world that the player can spawn at.</div><div class="ttdef"><b>Definition</b> spawn_point.hpp:13</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,97 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: game_state.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">game_state.hpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef GAME_STATE_HPP</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define GAME_STATE_HPP</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &lt;godot_cpp/classes/resource.hpp&gt;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="keyword">namespace </span>utils {</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="classutils_1_1GameState.html"> 11</a></span><span class="keyword">class </span><a class="code hl_class" href="classutils_1_1GameState.html">GameState</a> : <span class="keyword">public</span> godot::Resource {</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> GDCLASS(<a class="code hl_class" href="classutils_1_1GameState.html">GameState</a>, godot::Resource);</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> <span class="keyword">static</span> <span class="keywordtype">void</span> _bind_methods();</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span>};</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span>}</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#endif </span><span class="comment">// !GAME_STATE_HPP</span></div>
<div class="ttc" id="aclassutils_1_1GameState_html"><div class="ttname"><a href="classutils_1_1GameState.html">utils::GameState</a></div><div class="ttdoc">Parent class for saved game state.</div><div class="ttdef"><b>Definition</b> game_state.hpp:11</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,129 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: godot_macros.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">godot_macros.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef UC_GODOT_MACROS_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define UC_GODOT_MACROS_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;godot_cpp/classes/engine.hpp&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;godot_cpp/core/class_db.hpp&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;godot_cpp/variant/string.hpp&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#define MACRO_STRING_INNER(_Arg) #_Arg</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#define MACRO_STRING(_Arg) MACRO_STRING_INNER(_Arg)</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#define GDPROPERTY(PropName_, PropType_) \</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor"> godot::ClassDB::bind_method(godot::D_METHOD(&quot;get_&quot;</span> #PropName_), &amp;CLASSNAME::get_##PropName_); \</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> godot::ClassDB::bind_method(godot::D_METHOD(&quot;set_&quot; #PropName_, &quot;value&quot;), &amp;CLASSNAME::set_##PropName_); \</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> godot::ClassDB::add_property(MACRO_STRING(CLASSNAME), godot::PropertyInfo(PropType_, #PropName_), &quot;set_&quot; #PropName_, &quot;get_&quot; #PropName_)</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#define GDPROPERTY_HINTED(PropName_, PropType_, ...) \</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor"> godot::ClassDB::bind_method(godot::D_METHOD(&quot;get_&quot;</span> #PropName_), &amp;CLASSNAME::get_##PropName_); \</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> godot::ClassDB::bind_method(godot::D_METHOD(&quot;set_&quot; #PropName_, &quot;value&quot;), &amp;CLASSNAME::set_##PropName_); \</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> godot::ClassDB::add_property(MACRO_STRING(CLASSNAME), godot::PropertyInfo(PropType_, #PropName_, __VA_ARGS__), &quot;set_&quot; #PropName_, &quot;get_&quot; #PropName_)</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#define GDFUNCTION(_FnName) godot::ClassDB::bind_method(godot::D_METHOD(#_FnName), &amp;CLASSNAME::_FnName)</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="preprocessor">#define GDFUNCTION_ARGS(_FnName, ...) godot::ClassDB::bind_method(godot::D_METHOD(#_FnName, __VA_ARGS__), &amp;CLASSNAME::_FnName)</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="preprocessor">#define GDFUNCTION_STATIC(_FnName) godot::ClassDB::bind_static_method(MACRO_STRING(CLASSNAME), godot::D_METHOD(#_FnName), &amp;CLASSNAME::_FnName)</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="preprocessor">#define GDFUNCTION_STATIC_ARGS(_FnName, ...) godot::ClassDB::bind_static_method(MACRO_STRING(CLASSNAME), godot::D_METHOD(#_FnName, __VA_ARGS__), &amp;CLASSNAME::_FnName)</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="preprocessor">#define GDSIGNAL(...) godot::ClassDB::add_signal(MACRO_STRING(CLASSNAME), godot::MethodInfo(__VA_ARGS__))</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="preprocessor">#define GDRESOURCETYPE(_Class) godot::vformat(&quot;%s/%s:%s&quot;</span>, godot::Variant::OBJECT, godot::PROPERTY_HINT_RESOURCE_TYPE, #_Class)</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="preprocessor">#define GDEDITORONLY() if(!godot::Engine::get_singleton()-&gt;is_editor_hint()) return;</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="preprocessor">#define GDGAMEONLY() if(godot::Engine::get_singleton()-&gt;is_editor_hint()) return;</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="preprocessor">#define GDENUM(Name_, ...) struct Name_ {\</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="preprocessor"> enum Value {__VA_ARGS__};\</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="preprocessor"> private:\</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="preprocessor"> Value value{};\</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor"> public:\</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="preprocessor"> static inline godot::String get_property_hint() { return godot::String(#__VA_ARGS__); }\</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="preprocessor"> inline Name_(Value value): value{value} {}\</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="preprocessor"> inline Name_(Name_ const &amp;value): value{value.value} {}\</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="preprocessor">}</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="preprocessor">#endif </span><span class="comment">// !UC_GODOT_MACROS_H</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

97
html/hierarchy.html Normal file
View File

@ -0,0 +1,97 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: Class Hierarchy</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Class Hierarchy</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classutils_1_1IPlayer.html" target="_self">utils::IPlayer</a></td><td class="desc">Interface required for player nodes </td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structutils_1_1PlayerInput_1_1Listener.html" target="_self">utils::PlayerInput::Listener</a></td><td class="desc">A <a class="el" href="classutils_1_1PlayerInput.html" title="An event-driven input observer.">PlayerInput</a> action listener </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>godot::Node</b></td><td class="desc"></td></tr>
<tr id="row_2_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classutils_1_1GameRoot3D.html" target="_self">utils::GameRoot3D</a></td><td class="desc">The root of a game </td></tr>
<tr id="row_2_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classutils_1_1PlayerInput.html" target="_self">utils::PlayerInput</a></td><td class="desc">An event-driven input observer </td></tr>
<tr id="row_3_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>godot::Node3D</b></td><td class="desc"></td></tr>
<tr id="row_3_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classutils_1_1Level3D.html" target="_self">utils::Level3D</a></td><td class="desc">3D level root to be used with <a class="el" href="classutils_1_1GameRoot3D.html" title="The root of a game.">GameRoot3D</a> </td></tr>
<tr id="row_3_1_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classutils_1_1SpawnPoint3D.html" target="_self">utils::SpawnPoint3D</a></td><td class="desc">A location in the game world that the player can spawn at </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>godot::Resource</b></td><td class="desc"></td></tr>
<tr id="row_4_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classutils_1_1GameMode.html" target="_self">utils::GameMode</a></td><td class="desc">Stores session-relevant data </td></tr>
<tr id="row_4_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classutils_1_1GameState.html" target="_self">utils::GameState</a></td><td class="desc">Parent class for saved game state </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

82
html/index.html Normal file
View File

@ -0,0 +1,82 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">godot-cpp-utils Documentation</div></div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

34
html/jquery.js vendored Normal file

File diff suppressed because one or more lines are too long

105
html/level_8hpp_source.html Normal file
View File

@ -0,0 +1,105 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: level.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">level.hpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef LEVEL_HPP</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define LEVEL_HPP</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;game_mode.hpp&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &lt;godot_cpp/classes/node3d.hpp&gt;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="keyword">namespace </span>gd = godot;</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="keyword">namespace </span>utils {</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"><a class="line" href="classutils_1_1Level3D.html"> 14</a></span><span class="keyword">class </span><a class="code hl_class" href="classutils_1_1Level3D.html">Level3D</a> : <span class="keyword">public</span> gd::Node3D {</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> GDCLASS(<a class="code hl_class" href="classutils_1_1Level3D.html">Level3D</a>, gd::Node3D);</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> <span class="keyword">static</span> <span class="keywordtype">void</span> _bind_methods();</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <span class="keywordtype">void</span> set_game_mode_prototype(gd::Ref&lt;GameMode&gt; prototype);</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> gd::Ref&lt;GameMode&gt; get_game_mode_prototype() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="classutils_1_1Level3D.html#ad3a56146e02cf14da247c4b0631f6f07"> 21</a></span> gd::Ref&lt;GameMode&gt; <a class="code hl_variable" href="classutils_1_1Level3D.html#ad3a56146e02cf14da247c4b0631f6f07">game_mode_prototype</a>{}; </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span>};</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span>}</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#endif </span><span class="comment">// !LEVEL_HPP</span></div>
<div class="ttc" id="aclassutils_1_1Level3D_html"><div class="ttname"><a href="classutils_1_1Level3D.html">utils::Level3D</a></div><div class="ttdoc">3D level root to be used with GameRoot3D.</div><div class="ttdef"><b>Definition</b> level.hpp:14</div></div>
<div class="ttc" id="aclassutils_1_1Level3D_html_ad3a56146e02cf14da247c4b0631f6f07"><div class="ttname"><a href="classutils_1_1Level3D.html#ad3a56146e02cf14da247c4b0631f6f07">utils::Level3D::game_mode_prototype</a></div><div class="ttdeci">gd::Ref&lt; GameMode &gt; game_mode_prototype</div><div class="ttdoc">The starting state of the game mode to instantiate if this is the &quot;leading&quot; level.</div><div class="ttdef"><b>Definition</b> level.hpp:21</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

136
html/menu.js Normal file
View File

@ -0,0 +1,136 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
function makeTree(data,relPath) {
var result='';
if ('children' in data) {
result+='<ul>';
for (var i in data.children) {
var url;
var link;
link = data.children[i].url;
if (link.substring(0,1)=='^') {
url = link.substring(1);
} else {
url = relPath+link;
}
result+='<li><a href="'+url+'">'+
data.children[i].text+'</a>'+
makeTree(data.children[i],relPath)+'</li>';
}
result+='</ul>';
}
return result;
}
var searchBoxHtml;
if (searchEnabled) {
if (serverSide) {
searchBoxHtml='<div id="MSearchBox" class="MSearchBoxInactive">'+
'<div class="left">'+
'<form id="FSearchBox" action="'+relPath+searchPage+
'" method="get"><span id="MSearchSelectExt">&#160;</span>'+
'<input type="text" id="MSearchField" name="query" value="" placeholder="'+search+
'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)"'+
' onblur="searchBox.OnSearchFieldFocus(false)"/>'+
'</form>'+
'</div>'+
'<div class="right"></div>'+
'</div>';
} else {
searchBoxHtml='<div id="MSearchBox" class="MSearchBoxInactive">'+
'<span class="left">'+
'<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()"'+
' onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>'+
'<input type="text" id="MSearchField" value="" placeholder="'+search+
'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" '+
'onblur="searchBox.OnSearchFieldFocus(false)" '+
'onkeyup="searchBox.OnSearchFieldChange(event)"/>'+
'</span>'+
'<span class="right"><a id="MSearchClose" '+
'href="javascript:searchBox.CloseResultsWindow()">'+
'<img id="MSearchCloseImg" border="0" src="'+relPath+
'search/close.svg" alt=""/></a>'+
'</span>'+
'</div>';
}
}
$('#main-nav').before('<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>'+
'<label class="main-menu-btn" for="main-menu-state">'+
'<span class="main-menu-btn-icon"></span> '+
'Toggle main menu visibility</label>'+
'<span id="searchBoxPos1" style="position:absolute;right:8px;top:8px;height:36px;"></span>'+
'</div>');
$('#main-nav').append(makeTree(menudata,relPath));
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
if (searchBoxHtml) {
$('#main-menu').append('<li id="searchBoxPos2" style="float:right"></li>');
}
var $mainMenuState = $('#main-menu-state');
var prevWidth = 0;
if ($mainMenuState.length) {
function initResizableIfExists() {
if (typeof initResizable==='function') initResizable();
}
// animate mobile menu
$mainMenuState.change(function(e) {
var $menu = $('#main-menu');
var options = { duration: 250, step: initResizableIfExists };
if (this.checked) {
options['complete'] = function() { $menu.css('display', 'block') };
$menu.hide().slideDown(options);
} else {
options['complete'] = function() { $menu.css('display', 'none') };
$menu.show().slideUp(options);
}
});
// set default menu visibility
function resetState() {
var $menu = $('#main-menu');
var $mainMenuState = $('#main-menu-state');
var newWidth = $(window).outerWidth();
if (newWidth!=prevWidth) {
if ($(window).outerWidth()<768) {
$mainMenuState.prop('checked',false); $menu.hide();
$('#searchBoxPos1').html(searchBoxHtml);
$('#searchBoxPos2').hide();
} else {
$menu.show();
$('#searchBoxPos1').empty();
$('#searchBoxPos2').html(searchBoxHtml);
$('#searchBoxPos2').show();
}
if (typeof searchBox!=='undefined') {
searchBox.CloseResultsWindow();
}
prevWidth = newWidth;
}
}
$(window).ready(function() { resetState(); initResizableIfExists(); });
$(window).resize(resetState);
}
$('#main-menu').smartmenus();
}
/* @license-end */

65
html/menudata.js Normal file
View File

@ -0,0 +1,65 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
var menudata={children:[
{text:"Main Page",url:"index.html"},
{text:"Classes",url:"annotated.html",children:[
{text:"Class List",url:"annotated.html"},
{text:"Class Index",url:"classes.html"},
{text:"Class Hierarchy",url:"hierarchy.html"},
{text:"Class Members",url:"functions.html",children:[
{text:"All",url:"functions.html",children:[
{text:"_",url:"functions.html#index__5F"},
{text:"a",url:"functions.html#index_a"},
{text:"c",url:"functions.html#index_c"},
{text:"d",url:"functions.html#index_d"},
{text:"e",url:"functions.html#index_e"},
{text:"f",url:"functions.html#index_f"},
{text:"g",url:"functions.html#index_g"},
{text:"h",url:"functions.html#index_h"},
{text:"i",url:"functions.html#index_i"},
{text:"l",url:"functions.html#index_l"},
{text:"n",url:"functions.html#index_n"},
{text:"p",url:"functions.html#index_p"},
{text:"r",url:"functions.html#index_r"},
{text:"s",url:"functions.html#index_s"},
{text:"t",url:"functions.html#index_t"},
{text:"u",url:"functions.html#index_u"}]},
{text:"Functions",url:"functions_func.html",children:[
{text:"_",url:"functions_func.html#index__5F"},
{text:"c",url:"functions_func.html#index_c"},
{text:"e",url:"functions_func.html#index_e"},
{text:"f",url:"functions_func.html#index_f"},
{text:"g",url:"functions_func.html#index_g"},
{text:"h",url:"functions_func.html#index_h"},
{text:"i",url:"functions_func.html#index_i"},
{text:"l",url:"functions_func.html#index_l"},
{text:"p",url:"functions_func.html#index_p"},
{text:"r",url:"functions_func.html#index_r"},
{text:"s",url:"functions_func.html#index_s"},
{text:"t",url:"functions_func.html#index_t"},
{text:"u",url:"functions_func.html#index_u"}]},
{text:"Variables",url:"functions_vars.html"}]}]},
{text:"Files",url:"files.html",children:[
{text:"File List",url:"files.html"}]}]}

BIN
html/nav_f.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

BIN
html/nav_fd.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

BIN
html/nav_g.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

BIN
html/nav_h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

BIN
html/nav_hd.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 B

BIN
html/open.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

View File

@ -0,0 +1,119 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: player.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">player.hpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef UTILS_PLAYER_HPP</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define UTILS_PLAYER_HPP</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &lt;optional&gt;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &lt;godot_cpp/variant/transform3d.hpp&gt;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="keyword">namespace </span>gd = godot;</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="keyword">namespace </span>godot { <span class="keyword">class </span>Node; }</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword">namespace </span>utils {</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="keyword">class </span>PlayerInput;</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"><a class="line" href="classutils_1_1IPlayer.html"> 19</a></span><span class="keyword">class </span><a class="code hl_class" href="classutils_1_1IPlayer.html">IPlayer</a> {</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classutils_1_1GameRoot3D.html">GameRoot3D</a>;</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="classutils_1_1IPlayer.html#a0cafb35522002c12a00da6cb408e462c"> 26</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1IPlayer.html#a0cafb35522002c12a00da6cb408e462c">setup_player_input</a>(<a class="code hl_class" href="classutils_1_1PlayerInput.html">PlayerInput</a> *input) = 0;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="classutils_1_1IPlayer.html#aee51a05e36995e6523c3284b5cef1f42"> 28</a></span> <span class="keyword">virtual</span> gd::Node *<a class="code hl_function" href="classutils_1_1IPlayer.html#aee51a05e36995e6523c3284b5cef1f42">to_node</a>() = 0;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="classutils_1_1IPlayer.html#aa5e2d0a33a4114e45b2bd1bea95fa1db"> 30</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1IPlayer.html#aa5e2d0a33a4114e45b2bd1bea95fa1db">spawn_at_position</a>(gd::Transform3D <span class="keyword">const</span> &amp;at) = 0;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> uint32_t <a class="code hl_function" href="classutils_1_1IPlayer.html#ad697b5e89246178d99a4c281eaf313af">get_player_id</a>(); </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> std::optional&lt;uint32_t&gt; player_id{std::nullopt};</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span>};</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span>}</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#endif </span><span class="comment">// !UTILS_PLAYER_HPP</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="ttc" id="aclassutils_1_1GameRoot3D_html"><div class="ttname"><a href="classutils_1_1GameRoot3D.html">utils::GameRoot3D</a></div><div class="ttdoc">The root of a game.</div><div class="ttdef"><b>Definition</b> game_root.hpp:28</div></div>
<div class="ttc" id="aclassutils_1_1IPlayer_html"><div class="ttname"><a href="classutils_1_1IPlayer.html">utils::IPlayer</a></div><div class="ttdoc">Interface required for player nodes.</div><div class="ttdef"><b>Definition</b> player.hpp:19</div></div>
<div class="ttc" id="aclassutils_1_1IPlayer_html_a0cafb35522002c12a00da6cb408e462c"><div class="ttname"><a href="classutils_1_1IPlayer.html#a0cafb35522002c12a00da6cb408e462c">utils::IPlayer::setup_player_input</a></div><div class="ttdeci">virtual void setup_player_input(PlayerInput *input)=0</div><div class="ttdoc">Called by GameRoot3D when this player is instantiated or assigned a new PlayerInput.</div></div>
<div class="ttc" id="aclassutils_1_1IPlayer_html_aa5e2d0a33a4114e45b2bd1bea95fa1db"><div class="ttname"><a href="classutils_1_1IPlayer.html#aa5e2d0a33a4114e45b2bd1bea95fa1db">utils::IPlayer::spawn_at_position</a></div><div class="ttdeci">virtual void spawn_at_position(gd::Transform3D const &amp;at)=0</div><div class="ttdoc">Spawn the player at a given transform, usually the global transform of a SpawnPoint3D.</div></div>
<div class="ttc" id="aclassutils_1_1IPlayer_html_ad697b5e89246178d99a4c281eaf313af"><div class="ttname"><a href="classutils_1_1IPlayer.html#ad697b5e89246178d99a4c281eaf313af">utils::IPlayer::get_player_id</a></div><div class="ttdeci">uint32_t get_player_id()</div><div class="ttdoc">Returns the player id assigned to this instance.</div><div class="ttdef"><b>Definition</b> player.cpp:4</div></div>
<div class="ttc" id="aclassutils_1_1IPlayer_html_aee51a05e36995e6523c3284b5cef1f42"><div class="ttname"><a href="classutils_1_1IPlayer.html#aee51a05e36995e6523c3284b5cef1f42">utils::IPlayer::to_node</a></div><div class="ttdeci">virtual gd::Node * to_node()=0</div><div class="ttdoc">Convert IPlayer instance to node.</div></div>
<div class="ttc" id="aclassutils_1_1PlayerInput_html"><div class="ttname"><a href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></div><div class="ttdoc">An event-driven input observer.</div><div class="ttdef"><b>Definition</b> player_input.hpp:18</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,165 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: player_input.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">player_input.hpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef PLAYER_INPUT_HPP</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define PLAYER_INPUT_HPP</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &lt;optional&gt;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &lt;godot_cpp/classes/input.hpp&gt;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &lt;godot_cpp/classes/input_event.hpp&gt;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &lt;godot_cpp/classes/node.hpp&gt;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &lt;godot_cpp/templates/vector.hpp&gt;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;godot_cpp/variant/callable.hpp&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">namespace </span>gd = godot;</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="keyword">namespace </span>utils {</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"><a class="line" href="classutils_1_1PlayerInput.html"> 18</a></span><span class="keyword">class </span><a class="code hl_class" href="classutils_1_1PlayerInput.html">PlayerInput</a> : <span class="keyword">public</span> gd::Node {</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> GDCLASS(<a class="code hl_class" href="classutils_1_1PlayerInput.html">PlayerInput</a>, gd::Node)</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">static</span> <span class="keywordtype">void</span> _bind_methods();</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="structutils_1_1PlayerInput_1_1Listener.html"> 29</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structutils_1_1PlayerInput_1_1Listener.html">Listener</a> {</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classutils_1_1PlayerInput.html">PlayerInput</a>;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="structutils_1_1PlayerInput_1_1Listener.html#aff19336b1eaed1b4df15fecdd70578ba"> 33</a></span> gd::String <a class="code hl_variable" href="structutils_1_1PlayerInput_1_1Listener.html#aff19336b1eaed1b4df15fecdd70578ba">actionNegative</a>{<span class="stringliteral">&quot;&quot;</span>};</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="structutils_1_1PlayerInput_1_1Listener.html#a6b1f868fcc48dfded6806b29aa49fdb1"> 35</a></span> gd::String <a class="code hl_variable" href="structutils_1_1PlayerInput_1_1Listener.html#a6b1f868fcc48dfded6806b29aa49fdb1">actionPositive</a>{<span class="stringliteral">&quot;&quot;</span>};</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="structutils_1_1PlayerInput_1_1Listener.html#a84833f896b4ccff9b8e3b0ae789726ab"> 40</a></span> <span class="keywordtype">float</span> <a class="code hl_variable" href="structutils_1_1PlayerInput_1_1Listener.html#a84833f896b4ccff9b8e3b0ae789726ab">lastCached</a>{0.f};</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="structutils_1_1PlayerInput_1_1Listener.html#ac8a7445f1bdc44fcc65f640447eee2c0"> 42</a></span> gd::Callable <a class="code hl_variable" href="structutils_1_1PlayerInput_1_1Listener.html#ac8a7445f1bdc44fcc65f640447eee2c0">callable</a>;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="structutils_1_1PlayerInput_1_1Listener.html#a70bb4eed0c2610b74107403742eea990"> 44</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structutils_1_1PlayerInput_1_1Listener.html#a70bb4eed0c2610b74107403742eea990">isMouseEvent</a>{<span class="keyword">false</span>};</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_struct" href="structutils_1_1PlayerInput_1_1Listener.html">Listener</a>() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_struct" href="structutils_1_1PlayerInput_1_1Listener.html">Listener</a>(gd::String negative, gd::String positive, gd::Callable <a class="code hl_variable" href="structutils_1_1PlayerInput_1_1Listener.html#ac8a7445f1bdc44fcc65f640447eee2c0">callable</a>);</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <a class="code hl_struct" href="structutils_1_1PlayerInput_1_1Listener.html">Listener</a>(gd::String action, gd::Callable <a class="code hl_variable" href="structutils_1_1PlayerInput_1_1Listener.html#ac8a7445f1bdc44fcc65f640447eee2c0">callable</a>);</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="comment">// evaluate the current state of an action.</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> std::optional&lt;float&gt; evaluate_action(gd::String <span class="keyword">const</span> &amp;action);</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="structutils_1_1PlayerInput_1_1Listener.html#af989733fa828d5920c3cc26a440f60b1">has_changed</a>(gd::Ref&lt;gd::InputEvent&gt; <span class="keyword">const</span> &amp;event);</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">float</span> <a class="code hl_function" href="structutils_1_1PlayerInput_1_1Listener.html#a5d187489ffaac84a884938d81d4a2fdb">evaluate</a>(gd::Ref&lt;gd::InputEvent&gt; <span class="keyword">const</span> &amp;event);</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">bool</span> operator==(<a class="code hl_struct" href="structutils_1_1PlayerInput_1_1Listener.html">PlayerInput::Listener</a> <span class="keyword">const</span>&amp; b) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> };</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">static</span> gd::Vector2 <a class="code hl_function" href="classutils_1_1PlayerInput.html#a689cc968b84d6a92c10c541b97e3477e">get_last_mouse_motion</a>();</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> _enter_tree() <span class="keyword">override</span>;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> _exit_tree() <span class="keyword">override</span>;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> _unhandled_input(gd::Ref&lt;gd::InputEvent&gt; <span class="keyword">const</span> &amp;event) <span class="keyword">override</span>;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> _process(<span class="keywordtype">double</span> deltaTime) <span class="keyword">override</span>;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1PlayerInput.html#a52f0f96cd4732ce06016459094d3a714">listen_to</a>(Listener <span class="keyword">const</span> &amp;listener);</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1PlayerInput.html#a52f0f96cd4732ce06016459094d3a714">listen_to</a>(gd::String action, gd::Callable callable);</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1PlayerInput.html#a52f0f96cd4732ce06016459094d3a714">listen_to</a>(gd::String negative, gd::String positive, gd::Callable callable);</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1PlayerInput.html#aedfe45a2286098d3e5c9bfc00fddd1e1">stop_listening</a>(Node *node);</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1PlayerInput.html#aedfe45a2286098d3e5c9bfc00fddd1e1">stop_listening</a>(Listener <span class="keyword">const</span> &amp;listener);</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1PlayerInput.html#a1b3a6b23e41e3a4b57d916e6ed0fab6b">clear_listeners</a>();</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classutils_1_1PlayerInput.html#a63928906c8769151ef37adcad505de35">set_device</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="classutils_1_1PlayerInput.html#a99e2dbf29ad4b1d97e7c295407cff335"> 93</a></span> <span class="keyword">static</span> gd::Vector2 <a class="code hl_variable" href="classutils_1_1PlayerInput.html#a99e2dbf29ad4b1d97e7c295407cff335">lastMouseMotion</a>;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="classutils_1_1PlayerInput.html#aacf94bfd501145c640767a7018cfdb76"> 95</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="classutils_1_1PlayerInput.html#aacf94bfd501145c640767a7018cfdb76">primaryExists</a>;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="classutils_1_1PlayerInput.html#a10749b40d6eafb1f6c11dc056f70e380"> 100</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="classutils_1_1PlayerInput.html#a10749b40d6eafb1f6c11dc056f70e380">isPrimary</a>{<span class="keyword">false</span>};</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="classutils_1_1PlayerInput.html#af9aa77b42fac8fb673089d37105b932c"> 102</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="classutils_1_1PlayerInput.html#af9aa77b42fac8fb673089d37105b932c">device</a>{-1}; </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="classutils_1_1PlayerInput.html#a7dff7a6e68eeb89b2ff57b8e5447050d"> 105</a></span> gd::Vector&lt;Listener&gt; <a class="code hl_variable" href="classutils_1_1PlayerInput.html#a7dff7a6e68eeb89b2ff57b8e5447050d">listeners</a>{};</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span>};</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span>}</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="preprocessor">#endif </span><span class="comment">// !PLAYER_INPUT_HPP</span></div>
<div class="ttc" id="aclassutils_1_1PlayerInput_html"><div class="ttname"><a href="classutils_1_1PlayerInput.html">utils::PlayerInput</a></div><div class="ttdoc">An event-driven input observer.</div><div class="ttdef"><b>Definition</b> player_input.hpp:18</div></div>
<div class="ttc" id="aclassutils_1_1PlayerInput_html_a10749b40d6eafb1f6c11dc056f70e380"><div class="ttname"><a href="classutils_1_1PlayerInput.html#a10749b40d6eafb1f6c11dc056f70e380">utils::PlayerInput::isPrimary</a></div><div class="ttdeci">bool isPrimary</div><div class="ttdoc">Is this the primary instance.</div><div class="ttdef"><b>Definition</b> player_input.hpp:100</div></div>
<div class="ttc" id="aclassutils_1_1PlayerInput_html_a1b3a6b23e41e3a4b57d916e6ed0fab6b"><div class="ttname"><a href="classutils_1_1PlayerInput.html#a1b3a6b23e41e3a4b57d916e6ed0fab6b">utils::PlayerInput::clear_listeners</a></div><div class="ttdeci">void clear_listeners()</div><div class="ttdoc">Remove all listeners.</div><div class="ttdef"><b>Definition</b> player_input.cpp:132</div></div>
<div class="ttc" id="aclassutils_1_1PlayerInput_html_a52f0f96cd4732ce06016459094d3a714"><div class="ttname"><a href="classutils_1_1PlayerInput.html#a52f0f96cd4732ce06016459094d3a714">utils::PlayerInput::listen_to</a></div><div class="ttdeci">void listen_to(Listener const &amp;listener)</div><div class="ttdoc">Start listening for action.</div><div class="ttdef"><b>Definition</b> player_input.cpp:106</div></div>
<div class="ttc" id="aclassutils_1_1PlayerInput_html_a63928906c8769151ef37adcad505de35"><div class="ttname"><a href="classutils_1_1PlayerInput.html#a63928906c8769151ef37adcad505de35">utils::PlayerInput::set_device</a></div><div class="ttdeci">void set_device(int id)</div><div class="ttdoc">set the device observe events from.</div><div class="ttdef"><b>Definition</b> player_input.cpp:136</div></div>
<div class="ttc" id="aclassutils_1_1PlayerInput_html_a689cc968b84d6a92c10c541b97e3477e"><div class="ttname"><a href="classutils_1_1PlayerInput.html#a689cc968b84d6a92c10c541b97e3477e">utils::PlayerInput::get_last_mouse_motion</a></div><div class="ttdeci">static gd::Vector2 get_last_mouse_motion()</div><div class="ttdoc">Returns the last stored mouse delta.</div><div class="ttdef"><b>Definition</b> player_input.cpp:73</div></div>
<div class="ttc" id="aclassutils_1_1PlayerInput_html_a7dff7a6e68eeb89b2ff57b8e5447050d"><div class="ttname"><a href="classutils_1_1PlayerInput.html#a7dff7a6e68eeb89b2ff57b8e5447050d">utils::PlayerInput::listeners</a></div><div class="ttdeci">gd::Vector&lt; Listener &gt; listeners</div><div class="ttdoc">current listeners for this instance</div><div class="ttdef"><b>Definition</b> player_input.hpp:105</div></div>
<div class="ttc" id="aclassutils_1_1PlayerInput_html_a99e2dbf29ad4b1d97e7c295407cff335"><div class="ttname"><a href="classutils_1_1PlayerInput.html#a99e2dbf29ad4b1d97e7c295407cff335">utils::PlayerInput::lastMouseMotion</a></div><div class="ttdeci">static gd::Vector2 lastMouseMotion</div><div class="ttdoc">The last mouse motion, updated by the primary instance.</div><div class="ttdef"><b>Definition</b> player_input.hpp:93</div></div>
<div class="ttc" id="aclassutils_1_1PlayerInput_html_aacf94bfd501145c640767a7018cfdb76"><div class="ttname"><a href="classutils_1_1PlayerInput.html#aacf94bfd501145c640767a7018cfdb76">utils::PlayerInput::primaryExists</a></div><div class="ttdeci">static bool primaryExists</div><div class="ttdoc">Does a primary instance exist.</div><div class="ttdef"><b>Definition</b> player_input.hpp:95</div></div>
<div class="ttc" id="aclassutils_1_1PlayerInput_html_aedfe45a2286098d3e5c9bfc00fddd1e1"><div class="ttname"><a href="classutils_1_1PlayerInput.html#aedfe45a2286098d3e5c9bfc00fddd1e1">utils::PlayerInput::stop_listening</a></div><div class="ttdeci">void stop_listening(Node *node)</div><div class="ttdoc">Remove any listeners related to node.</div><div class="ttdef"><b>Definition</b> player_input.cpp:118</div></div>
<div class="ttc" id="aclassutils_1_1PlayerInput_html_af9aa77b42fac8fb673089d37105b932c"><div class="ttname"><a href="classutils_1_1PlayerInput.html#af9aa77b42fac8fb673089d37105b932c">utils::PlayerInput::device</a></div><div class="ttdeci">int device</div><div class="ttdoc">which device to observe events from.</div><div class="ttdef"><b>Definition</b> player_input.hpp:102</div></div>
<div class="ttc" id="astructutils_1_1PlayerInput_1_1Listener_html"><div class="ttname"><a href="structutils_1_1PlayerInput_1_1Listener.html">utils::PlayerInput::Listener</a></div><div class="ttdoc">A PlayerInput action listener.</div><div class="ttdef"><b>Definition</b> player_input.hpp:29</div></div>
<div class="ttc" id="astructutils_1_1PlayerInput_1_1Listener_html_a5d187489ffaac84a884938d81d4a2fdb"><div class="ttname"><a href="structutils_1_1PlayerInput_1_1Listener.html#a5d187489ffaac84a884938d81d4a2fdb">utils::PlayerInput::Listener::evaluate</a></div><div class="ttdeci">float evaluate(gd::Ref&lt; gd::InputEvent &gt; const &amp;event)</div><div class="ttdoc">evaluate the event for changes to either actionPositive or actionNegative</div><div class="ttdef"><b>Definition</b> player_input.cpp:56</div></div>
<div class="ttc" id="astructutils_1_1PlayerInput_1_1Listener_html_a6b1f868fcc48dfded6806b29aa49fdb1"><div class="ttname"><a href="structutils_1_1PlayerInput_1_1Listener.html#a6b1f868fcc48dfded6806b29aa49fdb1">utils::PlayerInput::Listener::actionPositive</a></div><div class="ttdeci">gd::String actionPositive</div><div class="ttdoc">Positive action on axis, evaluates to +1.</div><div class="ttdef"><b>Definition</b> player_input.hpp:35</div></div>
<div class="ttc" id="astructutils_1_1PlayerInput_1_1Listener_html_a70bb4eed0c2610b74107403742eea990"><div class="ttname"><a href="structutils_1_1PlayerInput_1_1Listener.html#a70bb4eed0c2610b74107403742eea990">utils::PlayerInput::Listener::isMouseEvent</a></div><div class="ttdeci">bool isMouseEvent</div><div class="ttdoc">If either actionNegative or actionPositive is a mouse event this will be true.</div><div class="ttdef"><b>Definition</b> player_input.hpp:44</div></div>
<div class="ttc" id="astructutils_1_1PlayerInput_1_1Listener_html_a84833f896b4ccff9b8e3b0ae789726ab"><div class="ttname"><a href="structutils_1_1PlayerInput_1_1Listener.html#a84833f896b4ccff9b8e3b0ae789726ab">utils::PlayerInput::Listener::lastCached</a></div><div class="ttdeci">float lastCached</div><div class="ttdoc">The last cached action.</div><div class="ttdef"><b>Definition</b> player_input.hpp:40</div></div>
<div class="ttc" id="astructutils_1_1PlayerInput_1_1Listener_html_ac8a7445f1bdc44fcc65f640447eee2c0"><div class="ttname"><a href="structutils_1_1PlayerInput_1_1Listener.html#ac8a7445f1bdc44fcc65f640447eee2c0">utils::PlayerInput::Listener::callable</a></div><div class="ttdeci">gd::Callable callable</div><div class="ttdoc">The listening function.</div><div class="ttdef"><b>Definition</b> player_input.hpp:42</div></div>
<div class="ttc" id="astructutils_1_1PlayerInput_1_1Listener_html_af989733fa828d5920c3cc26a440f60b1"><div class="ttname"><a href="structutils_1_1PlayerInput_1_1Listener.html#af989733fa828d5920c3cc26a440f60b1">utils::PlayerInput::Listener::has_changed</a></div><div class="ttdeci">bool has_changed(gd::Ref&lt; gd::InputEvent &gt; const &amp;event)</div><div class="ttdoc">Check if this event has any chance to result in a trigger.</div><div class="ttdef"><b>Definition</b> player_input.cpp:47</div></div>
<div class="ttc" id="astructutils_1_1PlayerInput_1_1Listener_html_aff19336b1eaed1b4df15fecdd70578ba"><div class="ttname"><a href="structutils_1_1PlayerInput_1_1Listener.html#aff19336b1eaed1b4df15fecdd70578ba">utils::PlayerInput::Listener::actionNegative</a></div><div class="ttdeci">gd::String actionNegative</div><div class="ttdoc">Negative action on axis, evaluates to -1.</div><div class="ttdef"><b>Definition</b> player_input.hpp:33</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,90 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>godot-cpp-utils: register_types.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">godot-cpp-utils
</div>
<div id="projectbrief">A collection of utility classes, functions and macros for use with Godot and GDExtension.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">register_types.hpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef UTILS_REGISTER_TYPES_HPP</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define UTILS_REGISTER_TYPES_HPP</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="keyword">namespace </span>utils {</div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="keywordtype">void</span> godot_cpp_utils_register_types();</div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span>}</div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#endif </span><span class="comment">// !UTILS_REGISTER_TYPES_HPP</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
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.7
</small></address>
</body>
</html>

5
html/search/all_0.js Normal file
View File

@ -0,0 +1,5 @@
var searchData=
[
['_5fbegin_0',['_begin',['../classutils_1_1GameMode.html#aa1b190a57e4106951a559301665739ec',1,'utils::GameMode']]],
['_5fend_1',['_end',['../classutils_1_1GameMode.html#ae69ff36bf1c3f60fad279e9991ca2d82',1,'utils::GameMode']]]
];

5
html/search/all_1.js Normal file
View File

@ -0,0 +1,5 @@
var searchData=
[
['actionnegative_0',['actionNegative',['../structutils_1_1PlayerInput_1_1Listener.html#aff19336b1eaed1b4df15fecdd70578ba',1,'utils::PlayerInput::Listener']]],
['actionpositive_1',['actionPositive',['../structutils_1_1PlayerInput_1_1Listener.html#a6b1f868fcc48dfded6806b29aa49fdb1',1,'utils::PlayerInput::Listener']]]
];

5
html/search/all_2.js Normal file
View File

@ -0,0 +1,5 @@
var searchData=
[
['callable_0',['callable',['../structutils_1_1PlayerInput_1_1Listener.html#ac8a7445f1bdc44fcc65f640447eee2c0',1,'utils::PlayerInput::Listener']]],
['clear_5flisteners_1',['clear_listeners',['../classutils_1_1PlayerInput.html#a1b3a6b23e41e3a4b57d916e6ed0fab6b',1,'utils::PlayerInput']]]
];

4
html/search/all_3.js Normal file
View File

@ -0,0 +1,4 @@
var searchData=
[
['device_0',['device',['../classutils_1_1PlayerInput.html#af9aa77b42fac8fb673089d37105b932c',1,'utils::PlayerInput']]]
];

4
html/search/all_4.js Normal file
View File

@ -0,0 +1,4 @@
var searchData=
[
['evaluate_0',['evaluate',['../structutils_1_1PlayerInput_1_1Listener.html#a5d187489ffaac84a884938d81d4a2fdb',1,'utils::PlayerInput::Listener']]]
];

5
html/search/all_5.js Normal file
View File

@ -0,0 +1,5 @@
var searchData=
[
['find_5fempty_5fplayer_5fslot_0',['find_empty_player_slot',['../classutils_1_1GameRoot3D.html#ab3895b9b48c4646a876e188d226c5723',1,'utils::GameRoot3D']]],
['first_5fboot_5flevel_1',['first_boot_level',['../classutils_1_1GameRoot3D.html#abf16d0f3b8030b758942397dcff1d46a',1,'utils::GameRoot3D']]]
];

19
html/search/all_6.js Normal file
View File

@ -0,0 +1,19 @@
var searchData=
[
['game_5fmode_0',['game_mode',['../classutils_1_1GameRoot3D.html#abb25b7613e1c7cd4f056020e6990d8e1',1,'utils::GameRoot3D']]],
['game_5fmode_5fprototype_1',['game_mode_prototype',['../classutils_1_1Level3D.html#ad3a56146e02cf14da247c4b0631f6f07',1,'utils::Level3D']]],
['game_5fstate_2',['game_state',['../classutils_1_1GameRoot3D.html#af73d3a598b72fcdc7dce372ea3af6e44',1,'utils::GameRoot3D']]],
['game_5fstate_5fprototype_3',['game_state_prototype',['../classutils_1_1GameRoot3D.html#ad62b2be46770ba99aa6c2a7800c52aa8',1,'utils::GameRoot3D']]],
['gamemode_4',['GameMode',['../classutils_1_1GameMode.html',1,'utils']]],
['gameroot3d_5',['GameRoot3D',['../classutils_1_1GameRoot3D.html',1,'utils']]],
['gamestate_6',['GameState',['../classutils_1_1GameState.html',1,'utils']]],
['get_5fgame_5fmode_7',['get_game_mode',['../classutils_1_1GameRoot3D.html#a896b4e4d3b9465a83a10249dbd559662',1,'utils::GameRoot3D']]],
['get_5fgame_5fstate_8',['get_game_state',['../classutils_1_1GameRoot3D.html#a105011a591cf09368958d4be350ed352',1,'utils::GameRoot3D']]],
['get_5flast_5fmouse_5fmotion_9',['get_last_mouse_motion',['../classutils_1_1PlayerInput.html#a689cc968b84d6a92c10c541b97e3477e',1,'utils::PlayerInput']]],
['get_5flevels_10',['get_levels',['../classutils_1_1GameRoot3D.html#aa9ed453a0b416641dfa5154a0b69c79e',1,'utils::GameRoot3D']]],
['get_5fplayer_11',['get_player',['../classutils_1_1GameRoot3D.html#a27492f37140fa8af6c6955f2147f5521',1,'utils::GameRoot3D']]],
['get_5fplayer_5fid_12',['get_player_id',['../classutils_1_1IPlayer.html#ad697b5e89246178d99a4c281eaf313af',1,'utils::IPlayer']]],
['get_5fplayers_13',['get_players',['../classutils_1_1GameRoot3D.html#af176a558f2a3b972c970087c2a1e3d7b',1,'utils::GameRoot3D']]],
['get_5fsingleton_14',['get_singleton',['../classutils_1_1GameRoot3D.html#ad1c9387dee7919a8ab5d60b19cba2140',1,'utils::GameRoot3D']]],
['grab_5fsingleton_15',['grab_singleton',['../classutils_1_1GameRoot3D.html#a0fc164bad77a192ff2209eee18e5104b',1,'utils::GameRoot3D']]]
];

5
html/search/all_7.js Normal file
View File

@ -0,0 +1,5 @@
var searchData=
[
['has_5fchanged_0',['has_changed',['../structutils_1_1PlayerInput_1_1Listener.html#af989733fa828d5920c3cc26a440f60b1',1,'utils::PlayerInput::Listener']]],
['has_5fsingleton_1',['has_singleton',['../classutils_1_1GameRoot3D.html#a13e110d60dffd924248af9c3f6943706',1,'utils::GameRoot3D']]]
];

8
html/search/all_8.js Normal file
View File

@ -0,0 +1,8 @@
var searchData=
[
['initialize_5fplayer_0',['initialize_player',['../classutils_1_1GameRoot3D.html#a865e6d9fe4f9422c0fb974bd6b1222ce',1,'utils::GameRoot3D']]],
['iplayer_1',['IPlayer',['../classutils_1_1IPlayer.html',1,'utils']]],
['is_5fvalid_5flevel_2',['is_valid_level',['../classutils_1_1GameRoot3D.html#a77e4726bb8fec522669cbb2c068e47d9',1,'utils::GameRoot3D']]],
['ismouseevent_3',['isMouseEvent',['../structutils_1_1PlayerInput_1_1Listener.html#a70bb4eed0c2610b74107403742eea990',1,'utils::PlayerInput::Listener']]],
['isprimary_4',['isPrimary',['../classutils_1_1PlayerInput.html#a10749b40d6eafb1f6c11dc056f70e380',1,'utils::PlayerInput']]]
];

13
html/search/all_9.js Normal file
View File

@ -0,0 +1,13 @@
var searchData=
[
['lastcached_0',['lastCached',['../structutils_1_1PlayerInput_1_1Listener.html#a84833f896b4ccff9b8e3b0ae789726ab',1,'utils::PlayerInput::Listener']]],
['lastmousemotion_1',['lastMouseMotion',['../classutils_1_1PlayerInput.html#a99e2dbf29ad4b1d97e7c295407cff335',1,'utils::PlayerInput']]],
['level3d_2',['Level3D',['../classutils_1_1Level3D.html',1,'utils']]],
['level_5funloaded_3',['level_unloaded',['../classutils_1_1GameRoot3D.html#af34016620adcdc2654358b463769a85f',1,'utils::GameRoot3D']]],
['levels_4',['levels',['../classutils_1_1GameRoot3D.html#a800421c3b82947156eebcbf730a680db',1,'utils::GameRoot3D']]],
['listen_5fto_5',['listen_to',['../classutils_1_1PlayerInput.html#a52f0f96cd4732ce06016459094d3a714',1,'utils::PlayerInput::listen_to(Listener const &amp;listener)'],['../classutils_1_1PlayerInput.html#a437e47975e21f8b61fabd69cebd8f8ba',1,'utils::PlayerInput::listen_to(gd::String action, gd::Callable callable)'],['../classutils_1_1PlayerInput.html#a8408ea63291e4c9a93c199a55ccb3f21',1,'utils::PlayerInput::listen_to(gd::String negative, gd::String positive, gd::Callable callable)']]],
['listener_6',['Listener',['../structutils_1_1PlayerInput_1_1Listener.html',1,'utils::PlayerInput']]],
['listeners_7',['listeners',['../classutils_1_1PlayerInput.html#a7dff7a6e68eeb89b2ff57b8e5447050d',1,'utils::PlayerInput']]],
['load_5flevel_8',['load_level',['../classutils_1_1GameRoot3D.html#acbec3f7b39c8c991a725e611dd8b869e',1,'utils::GameRoot3D']]],
['load_5flevel_5fat_9',['load_level_at',['../classutils_1_1GameRoot3D.html#ad53d50b5b35e4c13bf84f2d9c0f45a0b',1,'utils::GameRoot3D']]]
];

4
html/search/all_a.js Normal file
View File

@ -0,0 +1,4 @@
var searchData=
[
['next_5fplayer_5fid_0',['next_player_id',['../classutils_1_1GameRoot3D.html#af508cc9852b123ea37b94651da0f3c19',1,'utils::GameRoot3D']]]
];

8
html/search/all_b.js Normal file
View File

@ -0,0 +1,8 @@
var searchData=
[
['player_5finput_5fconnected_0',['player_input_connected',['../classutils_1_1GameRoot3D.html#a85eee9cb258971abe9fe8577314b2556',1,'utils::GameRoot3D']]],
['player_5fscene_1',['player_scene',['../classutils_1_1GameMode.html#a7e7258b38b17cde56ba9b130bbaf9908',1,'utils::GameMode']]],
['playerinput_2',['PlayerInput',['../classutils_1_1PlayerInput.html',1,'utils']]],
['players_3',['players',['../classutils_1_1GameRoot3D.html#acf48cbe3b2b6dd064cd1665ea8df2b9a',1,'utils::GameRoot3D']]],
['primaryexists_4',['primaryExists',['../classutils_1_1PlayerInput.html#aacf94bfd501145c640767a7018cfdb76',1,'utils::PlayerInput']]]
];

9
html/search/all_c.js Normal file
View File

@ -0,0 +1,9 @@
var searchData=
[
['register_5fspawn_5fpoint_0',['register_spawn_point',['../classutils_1_1GameRoot3D.html#a1937044fe05a903610308f8d382de975',1,'utils::GameRoot3D']]],
['release_5fsingleton_1',['release_singleton',['../classutils_1_1GameRoot3D.html#adc4455c11d39f8a267091f29ead441ee',1,'utils::GameRoot3D']]],
['remove_5fplayer_2',['remove_player',['../classutils_1_1GameRoot3D.html#a89953130655a618aefa8f3ea0db63a53',1,'utils::GameRoot3D']]],
['replace_5flevels_3',['replace_levels',['../classutils_1_1GameRoot3D.html#a453c8aa3920d7d0adaf2490c63a7d92c',1,'utils::GameRoot3D']]],
['reset_5fgame_5fmode_4',['reset_game_mode',['../classutils_1_1GameRoot3D.html#add087bf071383383e68e919173670c47',1,'utils::GameRoot3D']]],
['rng_5',['rng',['../classutils_1_1GameRoot3D.html#a623230c72ced578d7be1b9141b54fbd4',1,'utils::GameRoot3D']]]
];

11
html/search/all_d.js Normal file
View File

@ -0,0 +1,11 @@
var searchData=
[
['set_5fdevice_0',['set_device',['../classutils_1_1PlayerInput.html#a63928906c8769151ef37adcad505de35',1,'utils::PlayerInput']]],
['set_5fgame_5fmode_1',['set_game_mode',['../classutils_1_1GameRoot3D.html#a6c2a1aa2c35808a1b003ae79eac348c2',1,'utils::GameRoot3D']]],
['setup_5fplayer_5finput_2',['setup_player_input',['../classutils_1_1IPlayer.html#a0cafb35522002c12a00da6cb408e462c',1,'utils::IPlayer']]],
['spawn_5fat_5fposition_3',['spawn_at_position',['../classutils_1_1IPlayer.html#aa5e2d0a33a4114e45b2bd1bea95fa1db',1,'utils::IPlayer']]],
['spawn_5fplayer_4',['spawn_player',['../classutils_1_1GameRoot3D.html#a3e74ac9841575d9a915cf7ac6735b42b',1,'utils::GameRoot3D']]],
['spawn_5fpoints_5',['spawn_points',['../classutils_1_1GameRoot3D.html#a116245a9c4e7edf53ec03c6fe78c8462',1,'utils::GameRoot3D']]],
['spawnpoint3d_6',['SpawnPoint3D',['../classutils_1_1SpawnPoint3D.html',1,'utils']]],
['stop_5flistening_7',['stop_listening',['../classutils_1_1PlayerInput.html#aedfe45a2286098d3e5c9bfc00fddd1e1',1,'utils::PlayerInput::stop_listening(Node *node)'],['../classutils_1_1PlayerInput.html#a5620664764fc42b545a4304700180275',1,'utils::PlayerInput::stop_listening(Listener const &amp;listener)']]]
];

4
html/search/all_e.js Normal file
View File

@ -0,0 +1,4 @@
var searchData=
[
['to_5fnode_0',['to_node',['../classutils_1_1IPlayer.html#aee51a05e36995e6523c3284b5cef1f42',1,'utils::IPlayer']]]
];

4
html/search/all_f.js Normal file
View File

@ -0,0 +1,4 @@
var searchData=
[
['unload_5fall_5flevels_0',['unload_all_levels',['../classutils_1_1GameRoot3D.html#a4053b12af23cef53eb294729f1cb3aa8',1,'utils::GameRoot3D']]]
];

6
html/search/classes_0.js Normal file
View File

@ -0,0 +1,6 @@
var searchData=
[
['gamemode_0',['GameMode',['../classutils_1_1GameMode.html',1,'utils']]],
['gameroot3d_1',['GameRoot3D',['../classutils_1_1GameRoot3D.html',1,'utils']]],
['gamestate_2',['GameState',['../classutils_1_1GameState.html',1,'utils']]]
];

4
html/search/classes_1.js Normal file
View File

@ -0,0 +1,4 @@
var searchData=
[
['iplayer_0',['IPlayer',['../classutils_1_1IPlayer.html',1,'utils']]]
];

5
html/search/classes_2.js Normal file
View File

@ -0,0 +1,5 @@
var searchData=
[
['level3d_0',['Level3D',['../classutils_1_1Level3D.html',1,'utils']]],
['listener_1',['Listener',['../structutils_1_1PlayerInput_1_1Listener.html',1,'utils::PlayerInput']]]
];

4
html/search/classes_3.js Normal file
View File

@ -0,0 +1,4 @@
var searchData=
[
['playerinput_0',['PlayerInput',['../classutils_1_1PlayerInput.html',1,'utils']]]
];

4
html/search/classes_4.js Normal file
View File

@ -0,0 +1,4 @@
var searchData=
[
['spawnpoint3d_0',['SpawnPoint3D',['../classutils_1_1SpawnPoint3D.html',1,'utils']]]
];

18
html/search/close.svg Normal file
View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 11 11"
height="11"
width="11"
id="svg2"
version="1.1">
<defs
id="defs6" />
<path
id="path12"
d="M 5.5 0.5 A 5 5 0 0 0 0.5 5.5 A 5 5 0 0 0 5.5 10.5 A 5 5 0 0 0 10.5 5.5 A 5 5 0 0 0 5.5 0.5 z M 3.5820312 3 A 0.58291923 0.58291923 0 0 1 4 3.1757812 L 5.5 4.6757812 L 7 3.1757812 A 0.58291923 0.58291923 0 0 1 7.4003906 3 A 0.58291923 0.58291923 0 0 1 7.8242188 4 L 6.3242188 5.5 L 7.8242188 7 A 0.58291923 0.58291923 0 1 1 7 7.8242188 L 5.5 6.3242188 L 4 7.8242188 A 0.58291923 0.58291923 0 1 1 3.1757812 7 L 4.6757812 5.5 L 3.1757812 4 A 0.58291923 0.58291923 0 0 1 3.5820312 3 z "
style="stroke-width:1.09870648;fill:#bababa;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 947 B

View File

@ -0,0 +1,5 @@
var searchData=
[
['_5fbegin_0',['_begin',['../classutils_1_1GameMode.html#aa1b190a57e4106951a559301665739ec',1,'utils::GameMode']]],
['_5fend_1',['_end',['../classutils_1_1GameMode.html#ae69ff36bf1c3f60fad279e9991ca2d82',1,'utils::GameMode']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['clear_5flisteners_0',['clear_listeners',['../classutils_1_1PlayerInput.html#a1b3a6b23e41e3a4b57d916e6ed0fab6b',1,'utils::PlayerInput']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['evaluate_0',['evaluate',['../structutils_1_1PlayerInput_1_1Listener.html#a5d187489ffaac84a884938d81d4a2fdb',1,'utils::PlayerInput::Listener']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['find_5fempty_5fplayer_5fslot_0',['find_empty_player_slot',['../classutils_1_1GameRoot3D.html#ab3895b9b48c4646a876e188d226c5723',1,'utils::GameRoot3D']]]
];

View File

@ -0,0 +1,12 @@
var searchData=
[
['get_5fgame_5fmode_0',['get_game_mode',['../classutils_1_1GameRoot3D.html#a896b4e4d3b9465a83a10249dbd559662',1,'utils::GameRoot3D']]],
['get_5fgame_5fstate_1',['get_game_state',['../classutils_1_1GameRoot3D.html#a105011a591cf09368958d4be350ed352',1,'utils::GameRoot3D']]],
['get_5flast_5fmouse_5fmotion_2',['get_last_mouse_motion',['../classutils_1_1PlayerInput.html#a689cc968b84d6a92c10c541b97e3477e',1,'utils::PlayerInput']]],
['get_5flevels_3',['get_levels',['../classutils_1_1GameRoot3D.html#aa9ed453a0b416641dfa5154a0b69c79e',1,'utils::GameRoot3D']]],
['get_5fplayer_4',['get_player',['../classutils_1_1GameRoot3D.html#a27492f37140fa8af6c6955f2147f5521',1,'utils::GameRoot3D']]],
['get_5fplayer_5fid_5',['get_player_id',['../classutils_1_1IPlayer.html#ad697b5e89246178d99a4c281eaf313af',1,'utils::IPlayer']]],
['get_5fplayers_6',['get_players',['../classutils_1_1GameRoot3D.html#af176a558f2a3b972c970087c2a1e3d7b',1,'utils::GameRoot3D']]],
['get_5fsingleton_7',['get_singleton',['../classutils_1_1GameRoot3D.html#ad1c9387dee7919a8ab5d60b19cba2140',1,'utils::GameRoot3D']]],
['grab_5fsingleton_8',['grab_singleton',['../classutils_1_1GameRoot3D.html#a0fc164bad77a192ff2209eee18e5104b',1,'utils::GameRoot3D']]]
];

View File

@ -0,0 +1,5 @@
var searchData=
[
['has_5fchanged_0',['has_changed',['../structutils_1_1PlayerInput_1_1Listener.html#af989733fa828d5920c3cc26a440f60b1',1,'utils::PlayerInput::Listener']]],
['has_5fsingleton_1',['has_singleton',['../classutils_1_1GameRoot3D.html#a13e110d60dffd924248af9c3f6943706',1,'utils::GameRoot3D']]]
];

View File

@ -0,0 +1,5 @@
var searchData=
[
['initialize_5fplayer_0',['initialize_player',['../classutils_1_1GameRoot3D.html#a865e6d9fe4f9422c0fb974bd6b1222ce',1,'utils::GameRoot3D']]],
['is_5fvalid_5flevel_1',['is_valid_level',['../classutils_1_1GameRoot3D.html#a77e4726bb8fec522669cbb2c068e47d9',1,'utils::GameRoot3D']]]
];

View File

@ -0,0 +1,7 @@
var searchData=
[
['level_5funloaded_0',['level_unloaded',['../classutils_1_1GameRoot3D.html#af34016620adcdc2654358b463769a85f',1,'utils::GameRoot3D']]],
['listen_5fto_1',['listen_to',['../classutils_1_1PlayerInput.html#a52f0f96cd4732ce06016459094d3a714',1,'utils::PlayerInput::listen_to(Listener const &amp;listener)'],['../classutils_1_1PlayerInput.html#a437e47975e21f8b61fabd69cebd8f8ba',1,'utils::PlayerInput::listen_to(gd::String action, gd::Callable callable)'],['../classutils_1_1PlayerInput.html#a8408ea63291e4c9a93c199a55ccb3f21',1,'utils::PlayerInput::listen_to(gd::String negative, gd::String positive, gd::Callable callable)']]],
['load_5flevel_2',['load_level',['../classutils_1_1GameRoot3D.html#acbec3f7b39c8c991a725e611dd8b869e',1,'utils::GameRoot3D']]],
['load_5flevel_5fat_3',['load_level_at',['../classutils_1_1GameRoot3D.html#ad53d50b5b35e4c13bf84f2d9c0f45a0b',1,'utils::GameRoot3D']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['player_5finput_5fconnected_0',['player_input_connected',['../classutils_1_1GameRoot3D.html#a85eee9cb258971abe9fe8577314b2556',1,'utils::GameRoot3D']]]
];

View File

@ -0,0 +1,8 @@
var searchData=
[
['register_5fspawn_5fpoint_0',['register_spawn_point',['../classutils_1_1GameRoot3D.html#a1937044fe05a903610308f8d382de975',1,'utils::GameRoot3D']]],
['release_5fsingleton_1',['release_singleton',['../classutils_1_1GameRoot3D.html#adc4455c11d39f8a267091f29ead441ee',1,'utils::GameRoot3D']]],
['remove_5fplayer_2',['remove_player',['../classutils_1_1GameRoot3D.html#a89953130655a618aefa8f3ea0db63a53',1,'utils::GameRoot3D']]],
['replace_5flevels_3',['replace_levels',['../classutils_1_1GameRoot3D.html#a453c8aa3920d7d0adaf2490c63a7d92c',1,'utils::GameRoot3D']]],
['reset_5fgame_5fmode_4',['reset_game_mode',['../classutils_1_1GameRoot3D.html#add087bf071383383e68e919173670c47',1,'utils::GameRoot3D']]]
];

View File

@ -0,0 +1,9 @@
var searchData=
[
['set_5fdevice_0',['set_device',['../classutils_1_1PlayerInput.html#a63928906c8769151ef37adcad505de35',1,'utils::PlayerInput']]],
['set_5fgame_5fmode_1',['set_game_mode',['../classutils_1_1GameRoot3D.html#a6c2a1aa2c35808a1b003ae79eac348c2',1,'utils::GameRoot3D']]],
['setup_5fplayer_5finput_2',['setup_player_input',['../classutils_1_1IPlayer.html#a0cafb35522002c12a00da6cb408e462c',1,'utils::IPlayer']]],
['spawn_5fat_5fposition_3',['spawn_at_position',['../classutils_1_1IPlayer.html#aa5e2d0a33a4114e45b2bd1bea95fa1db',1,'utils::IPlayer']]],
['spawn_5fplayer_4',['spawn_player',['../classutils_1_1GameRoot3D.html#a3e74ac9841575d9a915cf7ac6735b42b',1,'utils::GameRoot3D']]],
['stop_5flistening_5',['stop_listening',['../classutils_1_1PlayerInput.html#aedfe45a2286098d3e5c9bfc00fddd1e1',1,'utils::PlayerInput::stop_listening(Node *node)'],['../classutils_1_1PlayerInput.html#a5620664764fc42b545a4304700180275',1,'utils::PlayerInput::stop_listening(Listener const &amp;listener)']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['to_5fnode_0',['to_node',['../classutils_1_1IPlayer.html#aee51a05e36995e6523c3284b5cef1f42',1,'utils::IPlayer']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['unload_5fall_5flevels_0',['unload_all_levels',['../classutils_1_1GameRoot3D.html#a4053b12af23cef53eb294729f1cb3aa8',1,'utils::GameRoot3D']]]
];

24
html/search/mag.svg Normal file
View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 20 19"
height="19"
width="20"
id="svg2"
version="1.1">
<defs
id="defs6" />
<circle
r="3.5"
cy="8.5"
cx="5.5"
id="path4611"
style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
<path
id="path4630"
d="m 8.1085854,11.109059 2.7823556,2.782356"
style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 804 B

24
html/search/mag_d.svg Normal file
View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 20 19"
height="19"
width="20"
id="svg2"
version="1.1">
<defs
id="defs6" />
<circle
r="3.5"
cy="8.5"
cx="5.5"
id="path4611"
style="fill:#000000;fill-opacity:0;stroke:#C5C5C5;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
<path
id="path4630"
d="m 8.1085854,11.109059 2.7823556,2.782356"
style="fill:none;stroke:#C5C5C5;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 804 B

31
html/search/mag_sel.svg Normal file
View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
version="1.1"
id="svg2"
width="20"
height="19"
viewBox="0 0 20 19"
>
<defs
id="defs6" />
<circle
style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
id="path4611"
cx="5.5"
cy="8.5"
r="3.5" />
<path
style="fill:#656565;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 11,7 13.5,10 16,7 Z"
id="path4609"
/>
<path
style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 8.1085854,11.109059 2.7823556,2.782356"
id="path4630"
/>
</svg>

After

Width:  |  Height:  |  Size: 1019 B

31
html/search/mag_seld.svg Normal file
View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
version="1.1"
id="svg2"
width="20"
height="19"
viewBox="0 0 20 19"
>
<defs
id="defs6" />
<circle
style="fill:#000000;fill-opacity:0;stroke:#c5C5C5;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
id="path4611"
cx="5.5"
cy="8.5"
r="3.5" />
<path
style="fill:#c5C5C5;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 11,7 13.5,10 16,7 Z"
id="path4609"
/>
<path
style="fill:none;stroke:#c5C5C5;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 8.1085854,11.109059 2.7823556,2.782356"
id="path4630"
/>
</svg>

After

Width:  |  Height:  |  Size: 1019 B

291
html/search/search.css Normal file
View File

@ -0,0 +1,291 @@
/*---------------- Search Box positioning */
#main-menu > li:last-child {
/* This <li> object is the parent of the search bar */
display: flex;
justify-content: center;
align-items: center;
height: 36px;
margin-right: 1em;
}
/*---------------- Search box styling */
.SRPage * {
font-weight: normal;
line-height: normal;
}
dark-mode-toggle {
margin-left: 5px;
display: flex;
float: right;
}
#MSearchBox {
display: inline-block;
white-space : nowrap;
background: var(--search-background-color);
border-radius: 0.65em;
box-shadow: var(--search-box-shadow);
z-index: 102;
}
#MSearchBox .left {
display: inline-block;
vertical-align: middle;
height: 1.4em;
}
#MSearchSelect {
display: inline-block;
vertical-align: middle;
width: 20px;
height: 19px;
background-image: var(--search-magnification-select-image);
margin: 0 0 0 0.3em;
padding: 0;
}
#MSearchSelectExt {
display: inline-block;
vertical-align: middle;
width: 10px;
height: 19px;
background-image: var(--search-magnification-image);
margin: 0 0 0 0.5em;
padding: 0;
}
#MSearchField {
display: inline-block;
vertical-align: middle;
width: 7.5em;
height: 19px;
margin: 0 0.15em;
padding: 0;
line-height: 1em;
border:none;
color: var(--search-foreground-color);
outline: none;
font-family: var(--font-family-search);
-webkit-border-radius: 0px;
border-radius: 0px;
background: none;
}
@media(hover: none) {
/* to avoid zooming on iOS */
#MSearchField {
font-size: 16px;
}
}
#MSearchBox .right {
display: inline-block;
vertical-align: middle;
width: 1.4em;
height: 1.4em;
}
#MSearchClose {
display: none;
font-size: inherit;
background : none;
border: none;
margin: 0;
padding: 0;
outline: none;
}
#MSearchCloseImg {
padding: 0.3em;
margin: 0;
}
.MSearchBoxActive #MSearchField {
color: var(--search-active-color);
}
/*---------------- Search filter selection */
#MSearchSelectWindow {
display: none;
position: absolute;
left: 0; top: 0;
border: 1px solid var(--search-filter-border-color);
background-color: var(--search-filter-background-color);
z-index: 10001;
padding-top: 4px;
padding-bottom: 4px;
-moz-border-radius: 4px;
-webkit-border-top-left-radius: 4px;
-webkit-border-top-right-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
}
.SelectItem {
font: 8pt var(--font-family-search);
padding-left: 2px;
padding-right: 12px;
border: 0px;
}
span.SelectionMark {
margin-right: 4px;
font-family: var(--font-family-monospace);
outline-style: none;
text-decoration: none;
}
a.SelectItem {
display: block;
outline-style: none;
color: var(--search-filter-foreground-color);
text-decoration: none;
padding-left: 6px;
padding-right: 12px;
}
a.SelectItem:focus,
a.SelectItem:active {
color: var(--search-filter-foreground-color);
outline-style: none;
text-decoration: none;
}
a.SelectItem:hover {
color: var(--search-filter-highlight-text-color);
background-color: var(--search-filter-highlight-bg-color);
outline-style: none;
text-decoration: none;
cursor: pointer;
display: block;
}
/*---------------- Search results window */
iframe#MSearchResults {
/*width: 60ex;*/
height: 15em;
}
#MSearchResultsWindow {
display: none;
position: absolute;
left: 0; top: 0;
border: 1px solid var(--search-results-border-color);
background-color: var(--search-results-background-color);
z-index:10000;
width: 300px;
height: 400px;
overflow: auto;
}
/* ----------------------------------- */
#SRIndex {
clear:both;
}
.SREntry {
font-size: 10pt;
padding-left: 1ex;
}
.SRPage .SREntry {
font-size: 8pt;
padding: 1px 5px;
}
div.SRPage {
margin: 5px 2px;
background-color: var(--search-results-background-color);
}
.SRChildren {
padding-left: 3ex; padding-bottom: .5em
}
.SRPage .SRChildren {
display: none;
}
.SRSymbol {
font-weight: bold;
color: var(--search-results-foreground-color);
font-family: var(--font-family-search);
text-decoration: none;
outline: none;
}
a.SRScope {
display: block;
color: var(--search-results-foreground-color);
font-family: var(--font-family-search);
font-size: 8pt;
text-decoration: none;
outline: none;
}
a.SRSymbol:focus, a.SRSymbol:active,
a.SRScope:focus, a.SRScope:active {
text-decoration: underline;
}
span.SRScope {
padding-left: 4px;
font-family: var(--font-family-search);
}
.SRPage .SRStatus {
padding: 2px 5px;
font-size: 8pt;
font-style: italic;
font-family: var(--font-family-search);
}
.SRResult {
display: none;
}
div.searchresults {
margin-left: 10px;
margin-right: 10px;
}
/*---------------- External search page results */
.pages b {
color: white;
padding: 5px 5px 3px 5px;
background-image: var(--nav-gradient-active-image-parent);
background-repeat: repeat-x;
text-shadow: 0 1px 1px #000000;
}
.pages {
line-height: 17px;
margin-left: 4px;
text-decoration: none;
}
.hl {
font-weight: bold;
}
#searchresults {
margin-bottom: 20px;
}
.searchpages {
margin-top: 10px;
}

820
html/search/search.js Normal file
View File

@ -0,0 +1,820 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function convertToId(search)
{
var result = '';
for (i=0;i<search.length;i++)
{
var c = search.charAt(i);
var cn = c.charCodeAt(0);
if (c.match(/[a-z0-9\u0080-\uFFFF]/))
{
result+=c;
}
else if (cn<16)
{
result+="_0"+cn.toString(16);
}
else
{
result+="_"+cn.toString(16);
}
}
return result;
}
function getXPos(item)
{
var x = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
x += item.offsetLeft;
item = item.offsetParent;
}
}
return x;
}
function getYPos(item)
{
var y = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
y += item.offsetTop;
item = item.offsetParent;
}
}
return y;
}
var searchResults = new SearchResults("searchResults");
/* A class handling everything associated with the search panel.
Parameters:
name - The name of the global variable that will be
storing this instance. Is needed to be able to set timeouts.
resultPath - path to use for external files
*/
function SearchBox(name, resultsPath, extension)
{
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
if (!extension || extension == "") { extension = ".html"; }
// ---------- Instance variables
this.name = name;
this.resultsPath = resultsPath;
this.keyTimeout = 0;
this.keyTimeoutLength = 500;
this.closeSelectionTimeout = 300;
this.lastSearchValue = "";
this.lastResultsPage = "";
this.hideTimeout = 0;
this.searchIndex = 0;
this.searchActive = false;
this.extension = extension;
// ----------- DOM Elements
this.DOMSearchField = function()
{ return document.getElementById("MSearchField"); }
this.DOMSearchSelect = function()
{ return document.getElementById("MSearchSelect"); }
this.DOMSearchSelectWindow = function()
{ return document.getElementById("MSearchSelectWindow"); }
this.DOMPopupSearchResults = function()
{ return document.getElementById("MSearchResults"); }
this.DOMPopupSearchResultsWindow = function()
{ return document.getElementById("MSearchResultsWindow"); }
this.DOMSearchClose = function()
{ return document.getElementById("MSearchClose"); }
this.DOMSearchBox = function()
{ return document.getElementById("MSearchBox"); }
// ------------ Event Handlers
// Called when focus is added or removed from the search field.
this.OnSearchFieldFocus = function(isActive)
{
this.Activate(isActive);
}
this.OnSearchSelectShow = function()
{
var searchSelectWindow = this.DOMSearchSelectWindow();
var searchField = this.DOMSearchSelect();
var left = getXPos(searchField);
var top = getYPos(searchField);
top += searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
searchSelectWindow.style.left = left + 'px';
searchSelectWindow.style.top = top + 'px';
// stop selection hide timer
if (this.hideTimeout)
{
clearTimeout(this.hideTimeout);
this.hideTimeout=0;
}
return false; // to avoid "image drag" default event
}
this.OnSearchSelectHide = function()
{
this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this),
this.closeSelectionTimeout);
}
// Called when the content of the search field is changed.
this.OnSearchFieldChange = function(evt)
{
if (this.keyTimeout) // kill running timer
{
clearTimeout(this.keyTimeout);
this.keyTimeout = 0;
}
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 || e.keyCode==13)
{
if (e.shiftKey==1)
{
this.OnSearchSelectShow();
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
child.focus();
return;
}
}
return;
}
else
{
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
}
else if (e.keyCode==27) // Escape out of the search field
{
this.DOMSearchField().blur();
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
this.Activate(false);
return;
}
// strip whitespaces
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue != this.lastSearchValue) // search value has changed
{
if (searchValue != "") // non-empty search
{
// set timer for search update
this.keyTimeout = setTimeout(this.Search.bind(this),
this.keyTimeoutLength);
}
else // empty search field
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
}
}
}
this.SelectItemCount = function(id)
{
var count=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
count++;
}
}
return count;
}
this.SelectItemSet = function(id)
{
var i,j=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
var node = child.firstChild;
if (j==id)
{
node.innerHTML='&#8226;';
}
else
{
node.innerHTML='&#160;';
}
j++;
}
}
}
// Called when an search filter selection is made.
// set item with index id as the active item
this.OnSelectItem = function(id)
{
this.searchIndex = id;
this.SelectItemSet(id);
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue!="" && this.searchActive) // something was found -> do a search
{
this.Search();
}
}
this.OnSearchSelectKey = function(evt)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
{
this.searchIndex++;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==38 && this.searchIndex>0) // Up
{
this.searchIndex--;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==13 || e.keyCode==27)
{
this.OnSelectItem(this.searchIndex);
this.CloseSelectionWindow();
this.DOMSearchField().focus();
}
return false;
}
// --------- Actions
// Closes the results window.
this.CloseResultsWindow = function()
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.Activate(false);
}
this.CloseSelectionWindow = function()
{
this.DOMSearchSelectWindow().style.display = 'none';
}
// Performs a search.
this.Search = function()
{
this.keyTimeout = 0;
// strip leading whitespace
var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
var code = searchValue.toLowerCase().charCodeAt(0);
var idxChar = searchValue.substr(0, 1).toLowerCase();
if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
{
idxChar = searchValue.substr(0, 2);
}
var jsFile;
var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
if (idx!=-1)
{
var hexCode=idx.toString(16);
jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js';
}
var loadJS = function(url, impl, loc){
var scriptTag = document.createElement('script');
scriptTag.src = url;
scriptTag.onload = impl;
scriptTag.onreadystatechange = impl;
loc.appendChild(scriptTag);
}
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
var domSearchBox = this.DOMSearchBox();
var domPopupSearchResults = this.DOMPopupSearchResults();
var domSearchClose = this.DOMSearchClose();
var resultsPath = this.resultsPath;
var handleResults = function() {
document.getElementById("Loading").style.display="none";
if (typeof searchData !== 'undefined') {
createResults(resultsPath);
document.getElementById("NoMatches").style.display="none";
}
if (idx!=-1) {
searchResults.Search(searchValue);
} else { // no file with search results => force empty search results
searchResults.Search('====');
}
if (domPopupSearchResultsWindow.style.display!='block')
{
domSearchClose.style.display = 'inline-block';
var left = getXPos(domSearchBox) + 150;
var top = getYPos(domSearchBox) + 20;
domPopupSearchResultsWindow.style.display = 'block';
left -= domPopupSearchResults.offsetWidth;
var maxWidth = document.body.clientWidth;
var maxHeight = document.body.clientHeight;
var width = 300;
if (left<10) left=10;
if (width+left+8>maxWidth) width=maxWidth-left-8;
var height = 400;
if (height+top+8>maxHeight) height=maxHeight-top-8;
domPopupSearchResultsWindow.style.top = top + 'px';
domPopupSearchResultsWindow.style.left = left + 'px';
domPopupSearchResultsWindow.style.width = width + 'px';
domPopupSearchResultsWindow.style.height = height + 'px';
}
}
if (jsFile) {
loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow());
} else {
handleResults();
}
this.lastSearchValue = searchValue;
}
// -------- Activation Functions
// Activates or deactivates the search panel, resetting things to
// their default values if necessary.
this.Activate = function(isActive)
{
if (isActive || // open it
this.DOMPopupSearchResultsWindow().style.display == 'block'
)
{
this.DOMSearchBox().className = 'MSearchBoxActive';
this.searchActive = true;
}
else if (!isActive) // directly remove the panel
{
this.DOMSearchBox().className = 'MSearchBoxInactive';
this.searchActive = false;
this.lastSearchValue = ''
this.lastResultsPage = '';
this.DOMSearchField().value = '';
}
}
}
// -----------------------------------------------------------------------
// The class that handles everything on the search results page.
function SearchResults(name)
{
// The number of matches from the last run of <Search()>.
this.lastMatchCount = 0;
this.lastKey = 0;
this.repeatOn = false;
// Toggles the visibility of the passed element ID.
this.FindChildElement = function(id)
{
var parentElement = document.getElementById(id);
var element = parentElement.firstChild;
while (element && element!=parentElement)
{
if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren')
{
return element;
}
if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes())
{
element = element.firstChild;
}
else if (element.nextSibling)
{
element = element.nextSibling;
}
else
{
do
{
element = element.parentNode;
}
while (element && element!=parentElement && !element.nextSibling);
if (element && element!=parentElement)
{
element = element.nextSibling;
}
}
}
}
this.Toggle = function(id)
{
var element = this.FindChildElement(id);
if (element)
{
if (element.style.display == 'block')
{
element.style.display = 'none';
}
else
{
element.style.display = 'block';
}
}
}
// Searches for the passed string. If there is no parameter,
// it takes it from the URL query.
//
// Always returns true, since other documents may try to call it
// and that may or may not be possible.
this.Search = function(search)
{
if (!search) // get search word from URL
{
search = window.location.search;
search = search.substring(1); // Remove the leading '?'
search = unescape(search);
}
search = search.replace(/^ +/, ""); // strip leading spaces
search = search.replace(/ +$/, ""); // strip trailing spaces
search = search.toLowerCase();
search = convertToId(search);
var resultRows = document.getElementsByTagName("div");
var matches = 0;
var i = 0;
while (i < resultRows.length)
{
var row = resultRows.item(i);
if (row.className == "SRResult")
{
var rowMatchName = row.id.toLowerCase();
rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
if (search.length<=rowMatchName.length &&
rowMatchName.substr(0, search.length)==search)
{
row.style.display = 'block';
matches++;
}
else
{
row.style.display = 'none';
}
}
i++;
}
document.getElementById("Searching").style.display='none';
if (matches == 0) // no results
{
document.getElementById("NoMatches").style.display='block';
}
else // at least one result
{
document.getElementById("NoMatches").style.display='none';
}
this.lastMatchCount = matches;
return true;
}
// return the first item with index index or higher that is visible
this.NavNext = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index++;
}
return focusItem;
}
this.NavPrev = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index--;
}
return focusItem;
}
this.ProcessKeys = function(e)
{
if (e.type == "keydown")
{
this.repeatOn = false;
this.lastKey = e.keyCode;
}
else if (e.type == "keypress")
{
if (!this.repeatOn)
{
if (this.lastKey) this.repeatOn = true;
return false; // ignore first keypress after keydown
}
}
else if (e.type == "keyup")
{
this.lastKey = 0;
this.repeatOn = false;
}
return this.lastKey!=0;
}
this.Nav = function(evt,itemIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
var newIndex = itemIndex-1;
var focusItem = this.NavPrev(newIndex);
if (focusItem)
{
var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
if (child && child.style.display == 'block') // children visible
{
var n=0;
var tmpElem;
while (1) // search for last child
{
tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
if (tmpElem)
{
focusItem = tmpElem;
}
else // found it!
{
break;
}
n++;
}
}
}
if (focusItem)
{
focusItem.focus();
}
else // return focus to search field
{
document.getElementById("MSearchField").focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = itemIndex+1;
var focusItem;
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem && elem.style.display == 'block') // children visible
{
focusItem = document.getElementById('Item'+itemIndex+'_c0');
}
if (!focusItem) focusItem = this.NavNext(newIndex);
if (focusItem) focusItem.focus();
}
else if (this.lastKey==39) // Right
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'block';
}
else if (this.lastKey==37) // Left
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'none';
}
else if (this.lastKey==27) // Escape
{
searchBox.CloseResultsWindow();
document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
this.NavChild = function(evt,itemIndex,childIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
if (childIndex>0)
{
var newIndex = childIndex-1;
document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
}
else // already at first child, jump to parent
{
document.getElementById('Item'+itemIndex).focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = childIndex+1;
var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
if (!elem) // last child, jump to parent next parent
{
elem = this.NavNext(itemIndex+1);
}
if (elem)
{
elem.focus();
}
}
else if (this.lastKey==27) // Escape
{
searchBox.CloseResultsWindow();
document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
}
function setKeyActions(elem,action)
{
elem.setAttribute('onkeydown',action);
elem.setAttribute('onkeypress',action);
elem.setAttribute('onkeyup',action);
}
function setClassAttr(elem,attr)
{
elem.setAttribute('class',attr);
elem.setAttribute('className',attr);
}
function createResults(resultsPath)
{
var results = document.getElementById("SRResults");
results.innerHTML = '';
for (var e=0; e<searchData.length; e++)
{
var id = searchData[e][0];
var srResult = document.createElement('div');
srResult.setAttribute('id','SR_'+id);
setClassAttr(srResult,'SRResult');
var srEntry = document.createElement('div');
setClassAttr(srEntry,'SREntry');
var srLink = document.createElement('a');
srLink.setAttribute('id','Item'+e);
setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
setClassAttr(srLink,'SRSymbol');
srLink.innerHTML = searchData[e][1][0];
srEntry.appendChild(srLink);
if (searchData[e][1].length==2) // single result
{
srLink.setAttribute('href',resultsPath+searchData[e][1][1][0]);
srLink.setAttribute('onclick','searchBox.CloseResultsWindow()');
if (searchData[e][1][1][1])
{
srLink.setAttribute('target','_parent');
}
else
{
srLink.setAttribute('target','_blank');
}
var srScope = document.createElement('span');
setClassAttr(srScope,'SRScope');
srScope.innerHTML = searchData[e][1][1][2];
srEntry.appendChild(srScope);
}
else // multiple results
{
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
var srChildren = document.createElement('div');
setClassAttr(srChildren,'SRChildren');
for (var c=0; c<searchData[e][1].length-1; c++)
{
var srChild = document.createElement('a');
srChild.setAttribute('id','Item'+e+'_c'+c);
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
setClassAttr(srChild,'SRScope');
srChild.setAttribute('href',resultsPath+searchData[e][1][c+1][0]);
srChild.setAttribute('onclick','searchBox.CloseResultsWindow()');
if (searchData[e][1][c+1][1])
{
srChild.setAttribute('target','_parent');
}
else
{
srChild.setAttribute('target','_blank');
}
srChild.innerHTML = searchData[e][1][c+1][2];
srChildren.appendChild(srChild);
}
srEntry.appendChild(srChildren);
}
srResult.appendChild(srEntry);
results.appendChild(srResult);
}
}
function init_search()
{
var results = document.getElementById("MSearchSelectWindow");
for (var key in indexSectionLabels)
{
var link = document.createElement('a');
link.setAttribute('class','SelectItem');
link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
link.href='javascript:void(0)';
link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
results.appendChild(link);
}
searchBox.OnSelectItem(0);
}
/* @license-end */

24
html/search/searchdata.js Normal file
View File

@ -0,0 +1,24 @@
var indexSectionsWithContent =
{
0: "_acdefghilnprstu",
1: "gilps",
2: "_cefghilprstu",
3: "acdfgilnprs"
};
var indexSectionNames =
{
0: "all",
1: "classes",
2: "functions",
3: "variables"
};
var indexSectionLabels =
{
0: "All",
1: "Classes",
2: "Functions",
3: "Variables"
};

View File

@ -0,0 +1,5 @@
var searchData=
[
['actionnegative_0',['actionNegative',['../structutils_1_1PlayerInput_1_1Listener.html#aff19336b1eaed1b4df15fecdd70578ba',1,'utils::PlayerInput::Listener']]],
['actionpositive_1',['actionPositive',['../structutils_1_1PlayerInput_1_1Listener.html#a6b1f868fcc48dfded6806b29aa49fdb1',1,'utils::PlayerInput::Listener']]]
];

Some files were not shown because too many files have changed in this diff Show More