This commit is contained in:
dabreegster 2020-12-08 18:16:30 +00:00
parent df5ef00ee4
commit 0222750afc
27 changed files with 227 additions and 161 deletions

View File

@ -1,6 +1,6 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `game` mod in crate `experiment`."><meta name="keywords" content="rust, rustlang, rust-lang, game"><title>experiment::game - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../experiment/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Module game</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#constants">Constants</a></li></ul></div><p class='location'><a href='../index.html'>experiment</a></p><script>window.sidebarCurrent = {name: 'game', ty: 'mod', relpath: '../'};</script><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><span class="help-button">?</span>
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/experiment/game.rs.html#1-487' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>experiment</a>::<wbr><a class="mod" href=''>game</a></span></h1><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/experiment/game.rs.html#1-507' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>experiment</a>::<wbr><a class="mod" href=''>game</a></span></h1><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table><tr class='module-item'><td><a class="struct" href="struct.EnergylessArrow.html" title='experiment::game::EnergylessArrow struct'>EnergylessArrow</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.Game.html" title='experiment::game::Game struct'>Game</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.GameState.html" title='experiment::game::GameState struct'>GameState</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.MinimapController.html" title='experiment::game::MinimapController struct'>MinimapController</a></td><td class='docblock-short'></td></tr></table><h2 id='constants' class='section-header'><a href="#constants">Constants</a></h2>
<table><tr class='module-item'><td><a class="constant" href="constant.ACQUIRE_BOOST_RATE.html" title='experiment::game::ACQUIRE_BOOST_RATE constant'>ACQUIRE_BOOST_RATE</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.BOOST_SPEED_MULTIPLIER.html" title='experiment::game::BOOST_SPEED_MULTIPLIER constant'>BOOST_SPEED_MULTIPLIER</a></td><td class='docblock-short'></td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "experiment";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,9 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `MinimapController` struct in crate `experiment`."><meta name="keywords" content="rust, rustlang, rust-lang, MinimapController"><title>experiment::game::MinimapController - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../experiment/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Struct MinimapController</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-MinimapControls%3CSimpleApp%3CSession%3E%3E">MinimapControls&lt;SimpleApp&lt;Session&gt;&gt;</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-Downcast">Downcast</a><a href="#impl-DowncastSync">DowncastSync</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-Same%3CT%3E">Same&lt;T&gt;</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a><a href="#impl-VZip%3CV%3E">VZip&lt;V&gt;</a></div></div><p class='location'><a href='../index.html'>experiment</a>::<wbr><a href='index.html'>game</a></p><script>window.sidebarCurrent = {name: 'MinimapController', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><span class="help-button">?</span>
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/experiment/game.rs.html#472' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='../index.html'>experiment</a>::<wbr><a href='index.html'>game</a>::<wbr><a class="struct" href=''>MinimapController</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>struct MinimapController;</pre></div><h2 id='trait-implementations' class='small-section-header'>Trait Implementations<a href='#trait-implementations' class='anchor'></a></h2><div id='trait-implementations-list'><h3 id='impl-MinimapControls%3CSimpleApp%3CSession%3E%3E' class='impl'><code class='in-band'>impl <a class="trait" href="../../map_gui/tools/minimap/trait.MinimapControls.html" title="trait map_gui::tools::minimap::MinimapControls">MinimapControls</a>&lt;<a class="struct" href="../../map_gui/simple_app/struct.SimpleApp.html" title="struct map_gui::simple_app::SimpleApp">SimpleApp</a>&lt;<a class="struct" href="../../experiment/session/struct.Session.html" title="struct experiment::session::Session">Session</a>&gt;&gt; for <a class="struct" href="../../experiment/game/struct.MinimapController.html" title="struct experiment::game::MinimapController">MinimapController</a></code><a href='#impl-MinimapControls%3CSimpleApp%3CSession%3E%3E' class='anchor'></a><a class='srclink' href='../../src/experiment/game.rs.html#474-487' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.has_zorder' class="method hidden"><code>fn <a href='../../map_gui/tools/minimap/trait.MinimapControls.html#tymethod.has_zorder' class='fnname'>has_zorder</a>(&amp;self, _: &amp;<a class="struct" href="../../map_gui/simple_app/struct.SimpleApp.html" title="struct map_gui::simple_app::SimpleApp">SimpleApp</a>&lt;<a class="struct" href="../../experiment/session/struct.Session.html" title="struct experiment::session::Session">Session</a>&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../src/experiment/game.rs.html#475-477' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Should the user be able to control the z-order visible? The control is only present when
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/experiment/game.rs.html#492' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='../index.html'>experiment</a>::<wbr><a href='index.html'>game</a>::<wbr><a class="struct" href=''>MinimapController</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>struct MinimapController;</pre></div><h2 id='trait-implementations' class='small-section-header'>Trait Implementations<a href='#trait-implementations' class='anchor'></a></h2><div id='trait-implementations-list'><h3 id='impl-MinimapControls%3CSimpleApp%3CSession%3E%3E' class='impl'><code class='in-band'>impl <a class="trait" href="../../map_gui/tools/minimap/trait.MinimapControls.html" title="trait map_gui::tools::minimap::MinimapControls">MinimapControls</a>&lt;<a class="struct" href="../../map_gui/simple_app/struct.SimpleApp.html" title="struct map_gui::simple_app::SimpleApp">SimpleApp</a>&lt;<a class="struct" href="../../experiment/session/struct.Session.html" title="struct experiment::session::Session">Session</a>&gt;&gt; for <a class="struct" href="../../experiment/game/struct.MinimapController.html" title="struct experiment::game::MinimapController">MinimapController</a></code><a href='#impl-MinimapControls%3CSimpleApp%3CSession%3E%3E' class='anchor'></a><a class='srclink' href='../../src/experiment/game.rs.html#494-507' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.has_zorder' class="method hidden"><code>fn <a href='../../map_gui/tools/minimap/trait.MinimapControls.html#tymethod.has_zorder' class='fnname'>has_zorder</a>(&amp;self, _: &amp;<a class="struct" href="../../map_gui/simple_app/struct.SimpleApp.html" title="struct map_gui::simple_app::SimpleApp">SimpleApp</a>&lt;<a class="struct" href="../../experiment/session/struct.Session.html" title="struct experiment::session::Session">Session</a>&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../src/experiment/game.rs.html#495-497' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Should the user be able to control the z-order visible? The control is only present when
zoomed in, placed beneath the zoom column. <a href="../../map_gui/tools/minimap/trait.MinimapControls.html#tymethod.has_zorder">Read more</a></p>
</div><h4 id='method.make_legend' class="method hidden"><code>fn <a href='../../map_gui/tools/minimap/trait.MinimapControls.html#method.make_legend' class='fnname'>make_legend</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;app: &amp;<a class="struct" href="../../map_gui/simple_app/struct.SimpleApp.html" title="struct map_gui::simple_app::SimpleApp">SimpleApp</a>&lt;<a class="struct" href="../../experiment/session/struct.Session.html" title="struct experiment::session::Session">Session</a>&gt;<br>) -&gt; Widget</code><a class='srclink' href='../../src/experiment/game.rs.html#479-486' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>A row beneath the minimap in the zoomed view, usually used as a legend for things on the
</div><h4 id='method.make_legend' class="method hidden"><code>fn <a href='../../map_gui/tools/minimap/trait.MinimapControls.html#method.make_legend' class='fnname'>make_legend</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;app: &amp;<a class="struct" href="../../map_gui/simple_app/struct.SimpleApp.html" title="struct map_gui::simple_app::SimpleApp">SimpleApp</a>&lt;<a class="struct" href="../../experiment/session/struct.Session.html" title="struct experiment::session::Session">Session</a>&gt;<br>) -&gt; Widget</code><a class='srclink' href='../../src/experiment/game.rs.html#499-506' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>A row beneath the minimap in the zoomed view, usually used as a legend for things on the
minimap. <a href="../../map_gui/tools/minimap/trait.MinimapControls.html#method.make_legend">Read more</a></p>
</div><h4 id='method.has_layer' class="method hidden"><code>fn <a href='../../map_gui/tools/minimap/trait.MinimapControls.html#method.has_layer' class='fnname'>has_layer</a>(&amp;self, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>A) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../src/map_gui/tools/minimap.rs.html#38-40' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Is there some additional layer displayed on the minimap? If this changes, the panel gets
recalculated. <a href="../../map_gui/tools/minimap/trait.MinimapControls.html#method.has_layer">Read more</a></p>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `BUILT_TIME_UTC` constant in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, BUILT_TIME_UTC"><title>game::pregame::built_info::BUILT_TIME_UTC - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script src="../../../storage.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc constant"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../../game/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class='location'><a href='../../index.html'>game</a>::<wbr><a href='../index.html'>pregame</a>::<wbr><a href='index.html'>built_info</a></p><script>window.sidebarCurrent = {name: 'BUILT_TIME_UTC', ty: 'constant', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><span class="help-button">?</span>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../../src/game/home/runner/work/abstreet/abstreet/target/debug/build/game-f38555f90777146b/out/built.rs.html#49' title='goto source code'>[src]</a></span><span class='in-band'>Constant <a href='../../index.html'>game</a>::<wbr><a href='../index.html'>pregame</a>::<wbr><a href='index.html'>built_info</a>::<wbr><a class="constant" href=''>BUILT_TIME_UTC</a></span></h1><pre class='rust const'>pub const BUILT_TIME_UTC: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a> = &quot;Tue, 08 Dec 2020 17:23:46 +0000&quot;;</pre><div class='docblock'><p>The built-time in RFC2822, UTC</p>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../../src/game/home/runner/work/abstreet/abstreet/target/debug/build/game-f38555f90777146b/out/built.rs.html#49' title='goto source code'>[src]</a></span><span class='in-band'>Constant <a href='../../index.html'>game</a>::<wbr><a href='../index.html'>pregame</a>::<wbr><a href='index.html'>built_info</a>::<wbr><a class="constant" href=''>BUILT_TIME_UTC</a></span></h1><pre class='rust const'>pub const BUILT_TIME_UTC: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a> = &quot;Tue, 08 Dec 2020 18:13:58 +0000&quot;;</pre><div class='docblock'><p>The built-time in RFC2822, UTC</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../../";window.currentCrate = "game";</script><script src="../../../main.js"></script><script defer src="../../../search-index.js"></script></body></html>

File diff suppressed because one or more lines are too long

View File

@ -488,6 +488,26 @@
<span id="485">485</span>
<span id="486">486</span>
<span id="487">487</span>
<span id="488">488</span>
<span id="489">489</span>
<span id="490">490</span>
<span id="491">491</span>
<span id="492">492</span>
<span id="493">493</span>
<span id="494">494</span>
<span id="495">495</span>
<span id="496">496</span>
<span id="497">497</span>
<span id="498">498</span>
<span id="499">499</span>
<span id="500">500</span>
<span id="501">501</span>
<span id="502">502</span>
<span id="503">503</span>
<span id="504">504</span>
<span id="505">505</span>
<span id="506">506</span>
<span id="507">507</span>
</pre><div class="example-wrap"><pre class="rust ">
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">HashSet</span>;
@ -602,20 +622,24 @@
<span class="ident">state</span>,
<span class="ident">player</span>,
};
<span class="ident">game</span>.<span class="ident">update_panels</span>(<span class="ident">ctx</span>, <span class="ident">app</span>);
<span class="ident">game</span>.<span class="ident">update_time_panel</span>(<span class="ident">ctx</span>, <span class="ident">app</span>);
<span class="ident">game</span>.<span class="ident">update_status_panel</span>(<span class="ident">ctx</span>, <span class="ident">app</span>);
<span class="ident">game</span>.<span class="ident">update_boost_panel</span>(<span class="ident">ctx</span>, <span class="ident">app</span>);
<span class="ident">game</span>.<span class="ident">minimap</span>
.<span class="ident">set_zoom</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">game</span>.<span class="ident">state</span>.<span class="ident">level</span>.<span class="ident">minimap_zoom</span>);
<span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">game</span>)
}
<span class="kw">fn</span> <span class="ident">update_panels</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>, <span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="ident">App</span>) {
<span class="kw">fn</span> <span class="ident">update_time_panel</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>, <span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="ident">App</span>) {
<span class="kw">let</span> <span class="ident">time</span> <span class="op">=</span> <span class="macro">format</span><span class="macro">!</span>(
<span class="string">&quot;{}&quot;</span>,
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">level</span>.<span class="ident">time_limit</span> <span class="op">-</span> (<span class="ident">app</span>.<span class="ident">time</span> <span class="op">-</span> <span class="ident">Time</span>::<span class="ident">START_OF_DAY</span>)
)
.<span class="ident">draw_text</span>(<span class="ident">ctx</span>);
<span class="self">self</span>.<span class="ident">time_panel</span>.<span class="ident">replace</span>(<span class="ident">ctx</span>, <span class="string">&quot;time&quot;</span>, <span class="ident">time</span>);
}
<span class="kw">fn</span> <span class="ident">update_status_panel</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>, <span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="ident">App</span>) {
<span class="kw">let</span> <span class="ident">score_bar</span> <span class="op">=</span> <span class="ident">make_bar</span>(
<span class="ident">ctx</span>,
<span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">colors</span>.<span class="ident">score</span>,
@ -631,7 +655,9 @@
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">vehicle</span>.<span class="ident">max_energy</span>,
);
<span class="self">self</span>.<span class="ident">status_panel</span>.<span class="ident">replace</span>(<span class="ident">ctx</span>, <span class="string">&quot;energy&quot;</span>, <span class="ident">energy_bar</span>);
}
<span class="kw">fn</span> <span class="ident">update_boost_panel</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>, <span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="ident">App</span>) {
<span class="kw">let</span> <span class="ident">boost_bar</span> <span class="op">=</span> <span class="ident">custom_bar</span>(
<span class="ident">ctx</span>,
<span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">colors</span>.<span class="ident">boost</span>,
@ -648,6 +674,10 @@
<span class="kw">impl</span> <span class="ident">State</span><span class="op">&lt;</span><span class="ident">App</span><span class="op">&gt;</span> <span class="kw">for</span> <span class="ident">Game</span> {
<span class="kw">fn</span> <span class="ident">event</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">ctx</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">EventCtx</span>, <span class="ident">app</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">App</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">Transition</span> {
<span class="kw">let</span> <span class="ident">orig_boost</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">boost</span>;
<span class="kw">let</span> (<span class="ident">orig_score</span>, <span class="ident">orig_energy</span>) <span class="op">=</span> (<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">score</span>, <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">energy</span>);
<span class="comment">// Most things depend on time passing and don&#39;t care about other events</span>
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">dt</span>) <span class="op">=</span> <span class="ident">ctx</span>.<span class="ident">input</span>.<span class="ident">nonblocking_is_update_event</span>() {
<span class="ident">app</span>.<span class="ident">time</span> <span class="op">+</span><span class="op">=</span> <span class="ident">dt</span>;
@ -659,136 +689,146 @@
<span class="kw-2">&amp;</span><span class="self">self</span>.<span class="ident">state</span>.<span class="ident">level</span>,
));
}
}
<span class="kw">let</span> <span class="ident">base_speed</span> <span class="op">=</span> <span class="kw">if</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">has_energy</span>() {
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">vehicle</span>.<span class="ident">normal_speed</span>
} <span class="kw">else</span> {
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">vehicle</span>.<span class="ident">tired_speed</span>
};
<span class="kw">let</span> <span class="ident">speed</span> <span class="op">=</span> <span class="kw">if</span> <span class="ident">ctx</span>.<span class="ident">is_key_down</span>(<span class="ident">Key</span>::<span class="ident">Space</span>) <span class="op">&amp;&amp;</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">boost</span> <span class="op">&gt;</span> <span class="ident">Duration</span>::<span class="ident">ZERO</span> {
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">dt</span>) <span class="op">=</span> <span class="ident">ctx</span>.<span class="ident">input</span>.<span class="ident">nonblocking_is_update_event</span>() {
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">boost</span> <span class="op">-</span><span class="op">=</span> <span class="ident">dt</span>;
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">boost</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">boost</span>.<span class="ident">max</span>(<span class="ident">Duration</span>::<span class="ident">ZERO</span>);
}
<span class="ident">base_speed</span> <span class="op">*</span> <span class="ident">BOOST_SPEED_MULTIPLIER</span>
} <span class="kw">else</span> {
<span class="ident">base_speed</span>
};
<span class="self">self</span>.<span class="ident">update_time_panel</span>(<span class="ident">ctx</span>, <span class="ident">app</span>);
<span class="kw">for</span> <span class="ident">b</span> <span class="kw">in</span> <span class="self">self</span>.<span class="ident">player</span>.<span class="ident">update_with_speed</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">speed</span>) {
<span class="kw">match</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">bldgs</span>.<span class="ident">buildings</span>[<span class="kw-2">&amp;</span><span class="ident">b</span>] {
<span class="ident">BldgState</span>::<span class="ident">Undelivered</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">&gt;</span> {
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">increase</span>) <span class="op">=</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">present_dropped</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">b</span>) {
<span class="kw">let</span> <span class="ident">path_speed</span> <span class="op">=</span> <span class="ident">Duration</span>::<span class="ident">seconds</span>(<span class="number">0.2</span>);
<span class="self">self</span>.<span class="ident">animator</span>.<span class="ident">add</span>(
<span class="ident">app</span>.<span class="ident">time</span>,
<span class="ident">path_speed</span>,
<span class="ident">Effect</span>::<span class="ident">FollowPath</span> {
<span class="ident">color</span>: <span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">colors</span>.<span class="ident">score</span>,
<span class="ident">width</span>: <span class="ident">map_model</span>::<span class="ident">NORMAL_LANE_THICKNESS</span>,
<span class="ident">pl</span>: <span class="ident">app</span>.<span class="ident">map</span>.<span class="ident">get_b</span>(<span class="ident">b</span>).<span class="ident">driveway_geom</span>.<span class="ident">reversed</span>(),
},
);
<span class="self">self</span>.<span class="ident">animator</span>.<span class="ident">add</span>(
<span class="ident">app</span>.<span class="ident">time</span> <span class="op">+</span> <span class="ident">path_speed</span>,
<span class="ident">Duration</span>::<span class="ident">seconds</span>(<span class="number">0.5</span>),
<span class="ident">Effect</span>::<span class="ident">Scale</span> {
<span class="ident">lerp_scale</span>: (<span class="number">1.0</span>, <span class="number">4.0</span>),
<span class="ident">center</span>: <span class="ident">app</span>.<span class="ident">map</span>.<span class="ident">get_b</span>(<span class="ident">b</span>).<span class="ident">label_center</span>,
<span class="ident">orig</span>: <span class="ident">Text</span>::<span class="ident">from</span>(<span class="ident">Line</span>(<span class="macro">format</span><span class="macro">!</span>(<span class="string">&quot;+{}&quot;</span>, <span class="ident">prettyprint_usize</span>(<span class="ident">increase</span>))))
<span class="kw">let</span> <span class="ident">base_speed</span> <span class="op">=</span> <span class="kw">if</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">has_energy</span>() {
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">vehicle</span>.<span class="ident">normal_speed</span>
} <span class="kw">else</span> {
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">vehicle</span>.<span class="ident">tired_speed</span>
};
<span class="kw">let</span> <span class="ident">speed</span> <span class="op">=</span> <span class="kw">if</span> <span class="ident">ctx</span>.<span class="ident">is_key_down</span>(<span class="ident">Key</span>::<span class="ident">Space</span>) <span class="op">&amp;&amp;</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">boost</span> <span class="op">&gt;</span> <span class="ident">Duration</span>::<span class="ident">ZERO</span> {
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">dt</span>) <span class="op">=</span> <span class="ident">ctx</span>.<span class="ident">input</span>.<span class="ident">nonblocking_is_update_event</span>() {
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">boost</span> <span class="op">-</span><span class="op">=</span> <span class="ident">dt</span>;
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">boost</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">boost</span>.<span class="ident">max</span>(<span class="ident">Duration</span>::<span class="ident">ZERO</span>);
}
<span class="ident">base_speed</span> <span class="op">*</span> <span class="ident">BOOST_SPEED_MULTIPLIER</span>
} <span class="kw">else</span> {
<span class="ident">base_speed</span>
};
<span class="kw">for</span> <span class="ident">b</span> <span class="kw">in</span> <span class="self">self</span>.<span class="ident">player</span>.<span class="ident">update_with_speed</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">speed</span>) {
<span class="kw">match</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">bldgs</span>.<span class="ident">buildings</span>[<span class="kw-2">&amp;</span><span class="ident">b</span>] {
<span class="ident">BldgState</span>::<span class="ident">Undelivered</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">&gt;</span> {
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">increase</span>) <span class="op">=</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">present_dropped</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">b</span>) {
<span class="kw">let</span> <span class="ident">path_speed</span> <span class="op">=</span> <span class="ident">Duration</span>::<span class="ident">seconds</span>(<span class="number">0.2</span>);
<span class="self">self</span>.<span class="ident">animator</span>.<span class="ident">add</span>(
<span class="ident">app</span>.<span class="ident">time</span>,
<span class="ident">path_speed</span>,
<span class="ident">Effect</span>::<span class="ident">FollowPath</span> {
<span class="ident">color</span>: <span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">colors</span>.<span class="ident">score</span>,
<span class="ident">width</span>: <span class="ident">map_model</span>::<span class="ident">NORMAL_LANE_THICKNESS</span>,
<span class="ident">pl</span>: <span class="ident">app</span>.<span class="ident">map</span>.<span class="ident">get_b</span>(<span class="ident">b</span>).<span class="ident">driveway_geom</span>.<span class="ident">reversed</span>(),
},
);
<span class="self">self</span>.<span class="ident">animator</span>.<span class="ident">add</span>(
<span class="ident">app</span>.<span class="ident">time</span> <span class="op">+</span> <span class="ident">path_speed</span>,
<span class="ident">Duration</span>::<span class="ident">seconds</span>(<span class="number">0.5</span>),
<span class="ident">Effect</span>::<span class="ident">Scale</span> {
<span class="ident">lerp_scale</span>: (<span class="number">1.0</span>, <span class="number">4.0</span>),
<span class="ident">center</span>: <span class="ident">app</span>.<span class="ident">map</span>.<span class="ident">get_b</span>(<span class="ident">b</span>).<span class="ident">label_center</span>,
<span class="ident">orig</span>: <span class="ident">Text</span>::<span class="ident">from</span>(<span class="ident">Line</span>(<span class="macro">format</span><span class="macro">!</span>(
<span class="string">&quot;+{}&quot;</span>,
<span class="ident">prettyprint_usize</span>(<span class="ident">increase</span>)
)))
.<span class="ident">bg</span>(<span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">colors</span>.<span class="ident">score</span>)
.<span class="ident">render_to_batch</span>(<span class="ident">ctx</span>.<span class="ident">prerender</span>)
.<span class="ident">scale</span>(<span class="number">0.1</span>),
},
);
},
);
}
}
}
<span class="ident">BldgState</span>::<span class="ident">Store</span> <span class="op">=</span><span class="op">&gt;</span> {
<span class="kw">let</span> <span class="ident">refill</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">vehicle</span>.<span class="ident">max_energy</span> <span class="op">-</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">energy</span>;
<span class="kw">if</span> <span class="ident">refill</span> <span class="op">&gt;</span> <span class="number">0</span> {
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">energy</span> <span class="op">+</span><span class="op">=</span> <span class="ident">refill</span>;
<span class="kw">let</span> <span class="ident">path_speed</span> <span class="op">=</span> <span class="ident">Duration</span>::<span class="ident">seconds</span>(<span class="number">0.2</span>);
<span class="self">self</span>.<span class="ident">animator</span>.<span class="ident">add</span>(
<span class="ident">app</span>.<span class="ident">time</span>,
<span class="ident">path_speed</span>,
<span class="ident">Effect</span>::<span class="ident">FollowPath</span> {
<span class="ident">color</span>: <span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">colors</span>.<span class="ident">energy</span>,
<span class="ident">width</span>: <span class="ident">map_model</span>::<span class="ident">NORMAL_LANE_THICKNESS</span>,
<span class="ident">pl</span>: <span class="ident">app</span>.<span class="ident">map</span>.<span class="ident">get_b</span>(<span class="ident">b</span>).<span class="ident">driveway_geom</span>.<span class="ident">clone</span>(),
},
);
<span class="self">self</span>.<span class="ident">animator</span>.<span class="ident">add</span>(
<span class="ident">app</span>.<span class="ident">time</span> <span class="op">+</span> <span class="ident">path_speed</span>,
<span class="ident">Duration</span>::<span class="ident">seconds</span>(<span class="number">0.5</span>),
<span class="ident">Effect</span>::<span class="ident">Scale</span> {
<span class="ident">lerp_scale</span>: (<span class="number">1.0</span>, <span class="number">4.0</span>),
<span class="ident">center</span>: <span class="ident">app</span>.<span class="ident">map</span>.<span class="ident">get_b</span>(<span class="ident">b</span>).<span class="ident">label_center</span>,
<span class="ident">orig</span>: <span class="ident">Text</span>::<span class="ident">from</span>(<span class="ident">Line</span>(<span class="macro">format</span><span class="macro">!</span>(
<span class="string">&quot;Refilled {}&quot;</span>,
<span class="ident">prettyprint_usize</span>(<span class="ident">refill</span>)
)))
.<span class="ident">bg</span>(<span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">colors</span>.<span class="ident">energy</span>)
.<span class="ident">render_to_batch</span>(<span class="ident">ctx</span>.<span class="ident">prerender</span>)
.<span class="ident">scale</span>(<span class="number">0.1</span>),
},
);
<span class="ident">BldgState</span>::<span class="ident">Store</span> <span class="op">=</span><span class="op">&gt;</span> {
<span class="kw">let</span> <span class="ident">refill</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">vehicle</span>.<span class="ident">max_energy</span> <span class="op">-</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">energy</span>;
<span class="kw">if</span> <span class="ident">refill</span> <span class="op">&gt;</span> <span class="number">0</span> {
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">energy</span> <span class="op">+</span><span class="op">=</span> <span class="ident">refill</span>;
<span class="kw">let</span> <span class="ident">path_speed</span> <span class="op">=</span> <span class="ident">Duration</span>::<span class="ident">seconds</span>(<span class="number">0.2</span>);
<span class="self">self</span>.<span class="ident">animator</span>.<span class="ident">add</span>(
<span class="ident">app</span>.<span class="ident">time</span>,
<span class="ident">path_speed</span>,
<span class="ident">Effect</span>::<span class="ident">FollowPath</span> {
<span class="ident">color</span>: <span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">colors</span>.<span class="ident">energy</span>,
<span class="ident">width</span>: <span class="ident">map_model</span>::<span class="ident">NORMAL_LANE_THICKNESS</span>,
<span class="ident">pl</span>: <span class="ident">app</span>.<span class="ident">map</span>.<span class="ident">get_b</span>(<span class="ident">b</span>).<span class="ident">driveway_geom</span>.<span class="ident">clone</span>(),
},
);
<span class="self">self</span>.<span class="ident">animator</span>.<span class="ident">add</span>(
<span class="ident">app</span>.<span class="ident">time</span> <span class="op">+</span> <span class="ident">path_speed</span>,
<span class="ident">Duration</span>::<span class="ident">seconds</span>(<span class="number">0.5</span>),
<span class="ident">Effect</span>::<span class="ident">Scale</span> {
<span class="ident">lerp_scale</span>: (<span class="number">1.0</span>, <span class="number">4.0</span>),
<span class="ident">center</span>: <span class="ident">app</span>.<span class="ident">map</span>.<span class="ident">get_b</span>(<span class="ident">b</span>).<span class="ident">label_center</span>,
<span class="ident">orig</span>: <span class="ident">Text</span>::<span class="ident">from</span>(<span class="ident">Line</span>(<span class="macro">format</span><span class="macro">!</span>(
<span class="string">&quot;Refilled {}&quot;</span>,
<span class="ident">prettyprint_usize</span>(<span class="ident">refill</span>)
)))
.<span class="ident">bg</span>(<span class="ident">app</span>.<span class="ident">session</span>.<span class="ident">colors</span>.<span class="ident">energy</span>)
.<span class="ident">render_to_batch</span>(<span class="ident">ctx</span>.<span class="ident">prerender</span>)
.<span class="ident">scale</span>(<span class="number">0.1</span>),
},
);
}
}
<span class="ident">BldgState</span>::<span class="ident">Done</span> <span class="op">=</span><span class="op">&gt;</span> {}
}
<span class="ident">BldgState</span>::<span class="ident">Done</span> <span class="op">=</span><span class="op">&gt;</span> {}
}
}
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">dt</span>) <span class="op">=</span> <span class="ident">ctx</span>.<span class="ident">input</span>.<span class="ident">nonblocking_is_update_event</span>() {
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">player</span>.<span class="ident">on_good_road</span>(<span class="ident">app</span>) {
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">boost</span> <span class="op">+</span><span class="op">=</span> <span class="ident">dt</span> <span class="op">*</span> <span class="ident">ACQUIRE_BOOST_RATE</span>;
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">boost</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">boost</span>.<span class="ident">min</span>(<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">vehicle</span>.<span class="ident">max_boost</span>);
}
}
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">t</span>) <span class="op">=</span> <span class="self">self</span>.<span class="ident">minimap</span>.<span class="ident">event</span>(<span class="ident">ctx</span>, <span class="ident">app</span>) {
<span class="kw">return</span> <span class="ident">t</span>;
}
<span class="self">self</span>.<span class="ident">animator</span>.<span class="ident">event</span>(<span class="ident">ctx</span>, <span class="ident">app</span>.<span class="ident">time</span>);
<span class="self">self</span>.<span class="ident">snow</span>.<span class="ident">event</span>(<span class="ident">ctx</span>, <span class="ident">app</span>.<span class="ident">time</span>);
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">has_energy</span>() {
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">energyless_arrow</span> <span class="op">=</span> <span class="prelude-val">None</span>;
} <span class="kw">else</span> {
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">energyless_arrow</span>.<span class="ident">is_none</span>() {
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">energyless_arrow</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">EnergylessArrow</span>::<span class="ident">new</span>(<span class="ident">ctx</span>, <span class="ident">app</span>.<span class="ident">time</span>));
}
<span class="kw">let</span> <span class="ident">stores</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">bldgs</span>.<span class="ident">all_stores</span>();
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">energyless_arrow</span>.<span class="ident">as_mut</span>().<span class="ident">unwrap</span>().<span class="ident">update</span>(
<span class="ident">ctx</span>,
<span class="ident">app</span>,
<span class="self">self</span>.<span class="ident">player</span>.<span class="ident">get_pos</span>(),
<span class="ident">stores</span>,
);
}
<span class="kw">match</span> <span class="self">self</span>.<span class="ident">title_panel</span>.<span class="ident">event</span>(<span class="ident">ctx</span>) {
<span class="ident">Outcome</span>::<span class="ident">Clicked</span>(<span class="ident">x</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="kw">match</span> <span class="ident">x</span>.<span class="ident">as_ref</span>() {
<span class="string">&quot;back&quot;</span> <span class="op">=</span><span class="op">&gt;</span> {
<span class="kw">return</span> <span class="ident">Transition</span>::<span class="ident">Push</span>(<span class="ident">ChooseSomething</span>::<span class="ident">new</span>(
<span class="ident">ctx</span>,
<span class="string">&quot;Game Paused&quot;</span>,
<span class="macro">vec</span><span class="macro">!</span>[
<span class="ident">Choice</span>::<span class="ident">string</span>(<span class="string">&quot;Resume&quot;</span>).<span class="ident">key</span>(<span class="ident">Key</span>::<span class="ident">Escape</span>),
<span class="ident">Choice</span>::<span class="ident">string</span>(<span class="string">&quot;Quit&quot;</span>),
],
<span class="ident">Box</span>::<span class="ident">new</span>(<span class="op">|</span><span class="ident">resp</span>, <span class="kw">_</span>, <span class="kw">_</span><span class="op">|</span> <span class="kw">match</span> <span class="ident">resp</span>.<span class="ident">as_ref</span>() {
<span class="string">&quot;Resume&quot;</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">Transition</span>::<span class="ident">Pop</span>,
<span class="string">&quot;Quit&quot;</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">Transition</span>::<span class="ident">Multi</span>(<span class="macro">vec</span><span class="macro">!</span>[<span class="ident">Transition</span>::<span class="ident">Pop</span>, <span class="ident">Transition</span>::<span class="ident">Pop</span>]),
<span class="kw">_</span> <span class="op">=</span><span class="op">&gt;</span> <span class="macro">unreachable</span><span class="macro">!</span>(),
}),
));
<span class="self">self</span>.<span class="ident">animator</span>.<span class="ident">event</span>(<span class="ident">ctx</span>, <span class="ident">app</span>.<span class="ident">time</span>);
<span class="self">self</span>.<span class="ident">snow</span>.<span class="ident">event</span>(<span class="ident">ctx</span>, <span class="ident">app</span>.<span class="ident">time</span>);
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">has_energy</span>() {
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">energyless_arrow</span> <span class="op">=</span> <span class="prelude-val">None</span>;
} <span class="kw">else</span> {
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">energyless_arrow</span>.<span class="ident">is_none</span>() {
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">energyless_arrow</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">EnergylessArrow</span>::<span class="ident">new</span>(<span class="ident">ctx</span>, <span class="ident">app</span>.<span class="ident">time</span>));
}
<span class="kw">_</span> <span class="op">=</span><span class="op">&gt;</span> <span class="macro">unreachable</span><span class="macro">!</span>(),
},
<span class="kw">_</span> <span class="op">=</span><span class="op">&gt;</span> {}
<span class="kw">let</span> <span class="ident">stores</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">bldgs</span>.<span class="ident">all_stores</span>();
<span class="self">self</span>.<span class="ident">state</span>.<span class="ident">energyless_arrow</span>.<span class="ident">as_mut</span>().<span class="ident">unwrap</span>().<span class="ident">update</span>(
<span class="ident">ctx</span>,
<span class="ident">app</span>,
<span class="self">self</span>.<span class="ident">player</span>.<span class="ident">get_pos</span>(),
<span class="ident">stores</span>,
);
}
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">boost</span> <span class="op">!</span><span class="op">=</span> <span class="ident">orig_boost</span> {
<span class="self">self</span>.<span class="ident">update_boost_panel</span>(<span class="ident">ctx</span>, <span class="ident">app</span>);
}
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">score</span> <span class="op">!</span><span class="op">=</span> <span class="ident">orig_score</span> <span class="op">|</span><span class="op">|</span> <span class="self">self</span>.<span class="ident">state</span>.<span class="ident">energy</span> <span class="op">!</span><span class="op">=</span> <span class="ident">orig_energy</span> {
<span class="self">self</span>.<span class="ident">update_status_panel</span>(<span class="ident">ctx</span>, <span class="ident">app</span>);
}
} <span class="kw">else</span> {
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">t</span>) <span class="op">=</span> <span class="self">self</span>.<span class="ident">minimap</span>.<span class="ident">event</span>(<span class="ident">ctx</span>, <span class="ident">app</span>) {
<span class="kw">return</span> <span class="ident">t</span>;
}
<span class="kw">match</span> <span class="self">self</span>.<span class="ident">title_panel</span>.<span class="ident">event</span>(<span class="ident">ctx</span>) {
<span class="ident">Outcome</span>::<span class="ident">Clicked</span>(<span class="ident">x</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="kw">match</span> <span class="ident">x</span>.<span class="ident">as_ref</span>() {
<span class="string">&quot;back&quot;</span> <span class="op">=</span><span class="op">&gt;</span> {
<span class="kw">return</span> <span class="ident">Transition</span>::<span class="ident">Push</span>(<span class="ident">ChooseSomething</span>::<span class="ident">new</span>(
<span class="ident">ctx</span>,
<span class="string">&quot;Game Paused&quot;</span>,
<span class="macro">vec</span><span class="macro">!</span>[
<span class="ident">Choice</span>::<span class="ident">string</span>(<span class="string">&quot;Resume&quot;</span>).<span class="ident">key</span>(<span class="ident">Key</span>::<span class="ident">Escape</span>),
<span class="ident">Choice</span>::<span class="ident">string</span>(<span class="string">&quot;Quit&quot;</span>),
],
<span class="ident">Box</span>::<span class="ident">new</span>(<span class="op">|</span><span class="ident">resp</span>, <span class="kw">_</span>, <span class="kw">_</span><span class="op">|</span> <span class="kw">match</span> <span class="ident">resp</span>.<span class="ident">as_ref</span>() {
<span class="string">&quot;Resume&quot;</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">Transition</span>::<span class="ident">Pop</span>,
<span class="string">&quot;Quit&quot;</span> <span class="op">=</span><span class="op">&gt;</span> <span class="ident">Transition</span>::<span class="ident">Multi</span>(<span class="macro">vec</span><span class="macro">!</span>[<span class="ident">Transition</span>::<span class="ident">Pop</span>, <span class="ident">Transition</span>::<span class="ident">Pop</span>]),
<span class="kw">_</span> <span class="op">=</span><span class="op">&gt;</span> <span class="macro">unreachable</span><span class="macro">!</span>(),
}),
));
}
<span class="kw">_</span> <span class="op">=</span><span class="op">&gt;</span> <span class="macro">unreachable</span><span class="macro">!</span>(),
},
<span class="kw">_</span> <span class="op">=</span><span class="op">&gt;</span> {}
}
}
<span class="comment">// Time is constantly passing</span>
<span class="self">self</span>.<span class="ident">update_panels</span>(<span class="ident">ctx</span>, <span class="ident">app</span>);
<span class="ident">ctx</span>.<span class="ident">request_update</span>(<span class="ident">UpdateType</span>::<span class="ident">Game</span>);
<span class="ident">Transition</span>::<span class="ident">Keep</span>
}

View File

@ -114,7 +114,7 @@
<span class="doccomment">/// The output of `rustdoc -V`</span>
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">RUSTDOC_VERSION</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;rustdoc 1.48.0 (7eac88abb 2020-11-16)&quot;</span>;
<span class="doccomment">/// The built-time in RFC2822, UTC</span>
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">BUILT_TIME_UTC</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;Tue, 08 Dec 2020 17:23:46 +0000&quot;</span>;
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">BUILT_TIME_UTC</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;Tue, 08 Dec 2020 18:13:58 +0000&quot;</span>;
<span class="doccomment">/// The target architecture, given by `cfg!(target_arch)`.</span>
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">CFG_TARGET_ARCH</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;x86_64&quot;</span>;
<span class="doccomment">/// The endianness, given by `cfg!(target_endian)`.</span>

View File

@ -297,6 +297,9 @@
<span id="294">294</span>
<span id="295">295</span>
<span id="296">296</span>
<span id="297">297</span>
<span id="298">298</span>
<span id="299">299</span>
</pre><div class="example-wrap"><pre class="rust ">
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">cell</span>::{<span class="ident">Cell</span>, <span class="ident">RefCell</span>};
@ -417,6 +420,8 @@
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">unfork</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>) {
<span class="self">self</span>.<span class="ident">uniforms</span> <span class="op">=</span> <span class="ident">Uniforms</span>::<span class="ident">new</span>(<span class="kw-2">&amp;</span><span class="self">self</span>.<span class="ident">canvas</span>);
<span class="self">self</span>.<span class="ident">num_forks</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
<span class="comment">// println!(&quot;{:?}&quot;, backtrace::Backtrace::new());</span>
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">clear</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">color</span>: <span class="ident">Color</span>) {
@ -561,9 +566,10 @@
}
<span class="kw">fn</span> <span class="ident">actually_upload</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">permanent</span>: <span class="ident">bool</span>, <span class="ident">batch</span>: <span class="ident">GeomBatch</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">Drawable</span> {
<span class="comment">// println!(&quot;{:?}&quot;, backtrace::Backtrace::new());</span>
<span class="self">self</span>.<span class="ident">num_uploads</span>.<span class="ident">set</span>(<span class="self">self</span>.<span class="ident">num_uploads</span>.<span class="ident">get</span>() <span class="op">+</span> <span class="number">1</span>);
<span class="self">self</span>.<span class="ident">inner</span>.<span class="ident">actually_upload</span>(<span class="ident">permanent</span>, <span class="ident">batch</span>)
<span class="comment">// println!(&quot;{:?}&quot;, backtrace::Backtrace::new());</span>
}
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn</span> <span class="ident">request_redraw</span>(<span class="kw-2">&amp;</span><span class="self">self</span>) {

View File

@ -334,6 +334,14 @@
<span id="331">331</span>
<span id="332">332</span>
<span id="333">333</span>
<span id="334">334</span>
<span id="335">335</span>
<span id="336">336</span>
<span id="337">337</span>
<span id="338">338</span>
<span id="339">339</span>
<span id="340">340</span>
<span id="341">341</span>
</pre><div class="example-wrap"><pre class="rust ">
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">cell</span>::{<span class="ident">Cell</span>, <span class="ident">RefCell</span>};
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">panic</span>;
@ -342,7 +350,7 @@
<span class="kw">use</span> <span class="ident">instant</span>::<span class="ident">Instant</span>;
<span class="kw">use</span> <span class="ident">winit</span>::<span class="ident">window</span>::<span class="ident">Icon</span>;
<span class="kw">use</span> <span class="ident">abstutil</span>::<span class="ident">Timer</span>;
<span class="kw">use</span> <span class="ident">abstutil</span>::{<span class="ident">elapsed_seconds</span>, <span class="ident">Timer</span>};
<span class="kw">use</span> <span class="ident">geom</span>::<span class="ident">Duration</span>;
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">app_state</span>::<span class="ident">App</span>;
@ -353,6 +361,8 @@
};
<span class="kw">const</span> <span class="ident">UPDATE_FREQUENCY</span>: <span class="ident">std</span>::<span class="ident">time</span>::<span class="ident">Duration</span> <span class="op">=</span> <span class="ident">std</span>::<span class="ident">time</span>::<span class="ident">Duration</span>::<span class="ident">from_millis</span>(<span class="number">1000</span> <span class="op">/</span> <span class="number">30</span>);
<span class="comment">// Manually enable and then check STDOUT</span>
<span class="kw">const</span> <span class="ident">DEBUG_PERFORMANCE</span>: <span class="ident">bool</span> <span class="op">=</span> <span class="bool-val">false</span>;
<span class="comment">// TODO Rename this GUI or something</span>
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">struct</span> <span class="ident">State</span><span class="op">&lt;</span><span class="ident">A</span>: <span class="ident">SharedAppState</span><span class="op">&gt;</span> {
@ -437,7 +447,11 @@
<span class="ident">style</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">style</span>,
<span class="ident">updates_requested</span>: <span class="macro">vec</span><span class="macro">!</span>[],
};
<span class="kw">let</span> <span class="ident">started</span> <span class="op">=</span> <span class="ident">Instant</span>::<span class="ident">now</span>();
<span class="self">self</span>.<span class="ident">app</span>.<span class="ident">event</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">ctx</span>);
<span class="kw">if</span> <span class="ident">DEBUG_PERFORMANCE</span> {
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;- event() took {}s&quot;</span>, <span class="ident">elapsed_seconds</span>(<span class="ident">started</span>));
}
<span class="comment">// TODO We should always do has_been_consumed, but various hacks prevent this from being</span>
<span class="comment">// true. For now, just avoid the specific annoying redraw case when a KeyRelease event</span>
<span class="comment">// is unused.</span>
@ -461,6 +475,7 @@
<span class="self">self</span>.<span class="ident">canvas</span>.<span class="ident">start_drawing</span>();
<span class="kw">let</span> <span class="ident">started</span> <span class="op">=</span> <span class="ident">Instant</span>::<span class="ident">now</span>();
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Err</span>(<span class="ident">err</span>) <span class="op">=</span> <span class="ident">panic</span>::<span class="ident">catch_unwind</span>(<span class="ident">panic</span>::<span class="ident">AssertUnwindSafe</span>(<span class="op">|</span><span class="op">|</span> {
<span class="self">self</span>.<span class="ident">app</span>.<span class="ident">draw</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">g</span>);
})) {
@ -469,12 +484,13 @@
}
<span class="kw">let</span> <span class="ident">naming_hint</span> <span class="op">=</span> <span class="ident">g</span>.<span class="ident">naming_hint</span>.<span class="ident">take</span>();
<span class="kw">if</span> <span class="bool-val">false</span> {
<span class="kw">if</span> <span class="ident">DEBUG_PERFORMANCE</span> {
<span class="macro">println</span><span class="macro">!</span>(
<span class="string">&quot;----- {} uploads, {} draw calls, {} forks -----&quot;</span>,
<span class="string">&quot;----- {} uploads, {} draw calls, {} forks. draw() took {} -----&quot;</span>,
<span class="ident">g</span>.<span class="ident">get_num_uploads</span>(),
<span class="ident">g</span>.<span class="ident">num_draw_calls</span>,
<span class="ident">g</span>.<span class="ident">num_forks</span>
<span class="ident">g</span>.<span class="ident">num_forks</span>,
<span class="ident">elapsed_seconds</span>(<span class="ident">started</span>)
);
}

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `drawing` mod in crate `widgetry`."><meta name="keywords" content="rust, rustlang, rust-lang, drawing"><title>widgetry::drawing - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../widgetry/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Module drawing</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#constants">Constants</a></li></ul></div><p class='location'><a href='../index.html'>widgetry</a></p><script>window.sidebarCurrent = {name: 'drawing', ty: 'mod', relpath: '../'};</script><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><span class="help-button">?</span>
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/widgetry/drawing.rs.html#1-296' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>widgetry</a>::<wbr><a class="mod" href=''>drawing</a></span></h1><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/widgetry/drawing.rs.html#1-299' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>widgetry</a>::<wbr><a class="mod" href=''>drawing</a></span></h1><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table><tr class='module-item'><td><a class="struct" href="struct.GfxCtx.html" title='widgetry::drawing::GfxCtx struct'>GfxCtx</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.Prerender.html" title='widgetry::drawing::Prerender struct'>Prerender</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.Uniforms.html" title='widgetry::drawing::Uniforms struct'>Uniforms</a></td><td class='docblock-short'></td></tr></table><h2 id='constants' class='section-header'><a href="#constants">Constants</a></h2>
<table><tr class='module-item'><td><a class="constant" href="constant.MAPSPACE_Z.html" title='widgetry::drawing::MAPSPACE_Z constant'>MAPSPACE_Z</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.MENU_Z.html" title='widgetry::drawing::MENU_Z constant'>MENU_Z</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.SCREENSPACE_Z.html" title='widgetry::drawing::SCREENSPACE_Z constant'>SCREENSPACE_Z</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.TOOLTIP_Z.html" title='widgetry::drawing::TOOLTIP_Z constant'>TOOLTIP_Z</a></td><td class='docblock-short'></td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "widgetry";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `run` fn in crate `widgetry`."><meta name="keywords" content="rust, rustlang, rust-lang, run"><title>widgetry::run - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../widgetry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class='location'><a href='index.html'>widgetry</a></p><script>window.sidebarCurrent = {name: 'run', ty: 'fn', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><span class="help-button">?</span>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../src/widgetry/runner.rs.html#186-333' title='goto source code'>[src]</a></span><span class='in-band'>Function <a href='index.html'>widgetry</a>::<wbr><a class="fn" href=''>run</a></span></h1><pre class='rust fn'>pub fn run&lt;A:&nbsp;'static + <a class="trait" href="../widgetry/app_state/trait.SharedAppState.html" title="trait widgetry::app_state::SharedAppState">SharedAppState</a>, F:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;mut <a class="struct" href="../widgetry/struct.EventCtx.html" title="struct widgetry::EventCtx">EventCtx</a>&lt;'_&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>A, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../widgetry/app_state/trait.State.html" title="trait widgetry::app_state::State">State</a>&lt;A&gt;&gt;&gt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;settings: <a class="struct" href="../widgetry/struct.Settings.html" title="struct widgetry::Settings">Settings</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;make_app: F<br>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.never.html">!</a></pre></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "widgetry";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../src/widgetry/runner.rs.html#194-341' title='goto source code'>[src]</a></span><span class='in-band'>Function <a href='index.html'>widgetry</a>::<wbr><a class="fn" href=''>run</a></span></h1><pre class='rust fn'>pub fn run&lt;A:&nbsp;'static + <a class="trait" href="../widgetry/app_state/trait.SharedAppState.html" title="trait widgetry::app_state::SharedAppState">SharedAppState</a>, F:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;mut <a class="struct" href="../widgetry/struct.EventCtx.html" title="struct widgetry::EventCtx">EventCtx</a>&lt;'_&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>A, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../widgetry/app_state/trait.State.html" title="trait widgetry::app_state::State">State</a>&lt;A&gt;&gt;&gt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;settings: <a class="struct" href="../widgetry/struct.Settings.html" title="struct widgetry::Settings">Settings</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;make_app: F<br>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.never.html">!</a></pre></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "widgetry";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `DEBUG_PERFORMANCE` constant in crate `widgetry`."><meta name="keywords" content="rust, rustlang, rust-lang, DEBUG_PERFORMANCE"><title>widgetry::runner::DEBUG_PERFORMANCE - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc constant"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../widgetry/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class='location'><a href='../index.html'>widgetry</a>::<wbr><a href='index.html'>runner</a></p><script>window.sidebarCurrent = {name: 'DEBUG_PERFORMANCE', ty: 'constant', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><span class="help-button">?</span>
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/widgetry/runner.rs.html#20' title='goto source code'>[src]</a></span><span class='in-band'>Constant <a href='../index.html'>widgetry</a>::<wbr><a href='index.html'>runner</a>::<wbr><a class="constant" href=''>DEBUG_PERFORMANCE</a></span></h1><pre class='rust const'>const DEBUG_PERFORMANCE: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> = false;</pre></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "widgetry";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>

View File

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `run` fn in crate `widgetry`."><meta name="keywords" content="rust, rustlang, rust-lang, run"><title>widgetry::runner::run - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../widgetry/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class='location'><a href='../index.html'>widgetry</a>::<wbr><a href='index.html'>runner</a></p><script>window.sidebarCurrent = {name: 'run', ty: 'fn', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><span class="help-button">?</span>
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/widgetry/runner.rs.html#186-333' title='goto source code'>[src]</a></span><span class='in-band'>Function <a href='../index.html'>widgetry</a>::<wbr><a href='index.html'>runner</a>::<wbr><a class="fn" href=''>run</a></span></h1><pre class='rust fn'>pub fn run&lt;A:&nbsp;'static + <a class="trait" href="../../widgetry/app_state/trait.SharedAppState.html" title="trait widgetry::app_state::SharedAppState">SharedAppState</a>, F:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;mut <a class="struct" href="../../widgetry/struct.EventCtx.html" title="struct widgetry::EventCtx">EventCtx</a>&lt;'_&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>A, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../../widgetry/app_state/trait.State.html" title="trait widgetry::app_state::State">State</a>&lt;A&gt;&gt;&gt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;settings: <a class="struct" href="../../widgetry/struct.Settings.html" title="struct widgetry::Settings">Settings</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;make_app: F<br>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.never.html">!</a></pre></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "widgetry";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/widgetry/runner.rs.html#194-341' title='goto source code'>[src]</a></span><span class='in-band'>Function <a href='../index.html'>widgetry</a>::<wbr><a href='index.html'>runner</a>::<wbr><a class="fn" href=''>run</a></span></h1><pre class='rust fn'>pub fn run&lt;A:&nbsp;'static + <a class="trait" href="../../widgetry/app_state/trait.SharedAppState.html" title="trait widgetry::app_state::SharedAppState">SharedAppState</a>, F:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;mut <a class="struct" href="../../widgetry/struct.EventCtx.html" title="struct widgetry::EventCtx">EventCtx</a>&lt;'_&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>A, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../../widgetry/app_state/trait.State.html" title="trait widgetry::app_state::State">State</a>&lt;A&gt;&gt;&gt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;settings: <a class="struct" href="../../widgetry/struct.Settings.html" title="struct widgetry::Settings">Settings</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;make_app: F<br>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.never.html">!</a></pre></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "widgetry";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>

View File

@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `runner` mod in crate `widgetry`."><meta name="keywords" content="rust, rustlang, rust-lang, runner"><title>widgetry::runner - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../widgetry/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Module runner</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li></ul></div><p class='location'><a href='../index.html'>widgetry</a></p><script>window.sidebarCurrent = {name: 'runner', ty: 'mod', relpath: '../'};</script><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><span class="help-button">?</span>
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/widgetry/runner.rs.html#1-333' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>widgetry</a>::<wbr><a class="mod" href=''>runner</a></span></h1><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/widgetry/runner.rs.html#1-341' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>widgetry</a>::<wbr><a class="mod" href=''>runner</a></span></h1><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table><tr class='module-item'><td><a class="struct" href="struct.Settings.html" title='widgetry::runner::Settings struct'>Settings</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.State.html" title='widgetry::runner::State struct'>State</a></td><td class='docblock-short'></td></tr></table><h2 id='constants' class='section-header'><a href="#constants">Constants</a></h2>
<table><tr class='module-item'><td><a class="constant" href="constant.UPDATE_FREQUENCY.html" title='widgetry::runner::UPDATE_FREQUENCY constant'>UPDATE_FREQUENCY</a></td><td class='docblock-short'></td></tr></table><h2 id='functions' class='section-header'><a href="#functions">Functions</a></h2>
<table><tr class='module-item'><td><a class="constant" href="constant.DEBUG_PERFORMANCE.html" title='widgetry::runner::DEBUG_PERFORMANCE constant'>DEBUG_PERFORMANCE</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="constant" href="constant.UPDATE_FREQUENCY.html" title='widgetry::runner::UPDATE_FREQUENCY constant'>UPDATE_FREQUENCY</a></td><td class='docblock-short'></td></tr></table><h2 id='functions' class='section-header'><a href="#functions">Functions</a></h2>
<table><tr class='module-item'><td><a class="fn" href="fn.run.html" title='widgetry::runner::run fn'>run</a></td><td class='docblock-short'></td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "widgetry";</script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>

View File

@ -1 +1 @@
initSidebarItems({"constant":[["UPDATE_FREQUENCY",""]],"fn":[["run",""]],"struct":[["Settings",""],["State",""]]});
initSidebarItems({"constant":[["DEBUG_PERFORMANCE",""],["UPDATE_FREQUENCY",""]],"fn":[["run",""]],"struct":[["Settings",""],["State",""]]});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long