This commit is contained in:
dabreegster 2021-01-10 00:08:24 +00:00
parent 110f440be2
commit d28ec4098e
21 changed files with 225 additions and 103 deletions

File diff suppressed because one or more lines are too long

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 `app` mod in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, app"><title>game::app - 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 id="default-settings"></script><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='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module app</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../index.html">game</a></p><script>window.sidebarCurrent = {name: "app", 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!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></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/app.rs.html#1-857" title="goto source code">[src]</a></span><span class="in-band">Module <a href="../index.html">game</a>::<wbr><a class="mod" href="">app</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/game/app.rs.html#1-837" title="goto source code">[src]</a></span><span class="in-band">Module <a href="../index.html">game</a>::<wbr><a class="mod" href="">app</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.App.html" title="game::app::App struct">App</a></td><td class="docblock-short"><p>The top-level data that lasts through the entire game, no matter what state the game is in.</p>
</td></tr><tr class="module-item"><td><a class="struct" href="struct.FindDelayedIntersections.html" title="game::app::FindDelayedIntersections struct">FindDelayedIntersections</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="struct" href="struct.Flags.html" title="game::app::Flags struct">Flags</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="struct" href="struct.PerMap.html" title="game::app::PerMap struct">PerMap</a></td><td class="docblock-short"><p>All of the state that's bound to a specific map.</p>
</td></tr><tr class="module-item"><td><a class="struct" href="struct.PerObjectActions.html" title="game::app::PerObjectActions struct">PerObjectActions</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="struct" href="struct.SessionState.html" title="game::app::SessionState struct">SessionState</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="struct" href="struct.ShowEverything.html" title="game::app::ShowEverything struct">ShowEverything</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="struct" href="struct.ShowLayers.html" title="game::app::ShowLayers struct">ShowLayers</a></td><td class="docblock-short"></td></tr></table><h2 id="traits" class="section-header"><a href="#traits">Traits</a></h2>

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,13 +1,13 @@
<!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 `Flags` struct in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, Flags"><title>game::app::Flags - 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 id="default-settings"></script><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='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Flags</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.live_map_edits">live_map_edits</a><a href="#structfield.sim_flags">sim_flags</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</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-ToOwned">ToOwned</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">game</a>::<wbr><a href="index.html">app</a></p><script>window.sidebarCurrent = {name: "Flags", 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!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></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/app.rs.html#588-593" title="goto source code">[src]</a></span><span class="in-band">Struct <a href="../index.html">game</a>::<wbr><a href="index.html">app</a>::<wbr><a class="struct" href="">Flags</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Flags {
<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/app.rs.html#570-575" title="goto source code">[src]</a></span><span class="in-band">Struct <a href="../index.html">game</a>::<wbr><a href="index.html">app</a>::<wbr><a class="struct" href="">Flags</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Flags {
pub sim_flags: <a class="struct" href="../../sim/make/load/struct.SimFlags.html" title="struct sim::make::load::SimFlags">SimFlags</a>,
pub live_map_edits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
}</pre></div><h2 id="fields" class="fields small-section-header">
Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.sim_flags" class="structfield small-section-header"><a href="#structfield.sim_flags" class="anchor field"></a><code>sim_flags: <a class="struct" href="../../sim/make/load/struct.SimFlags.html" title="struct sim::make::load::SimFlags">SimFlags</a></code></span><span id="structfield.live_map_edits" class="structfield small-section-header"><a href="#structfield.live_map_edits" class="anchor field"></a><code>live_map_edits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></span><div class="docblock"><p>If true, all map edits immediately apply to the live simulation. Otherwise, most edits
require resetting to midnight.</p>
</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-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../game/app/struct.Flags.html" title="struct game::app::Flags">Flags</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/game/app.rs.html#587" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&amp;self) -&gt; <a class="struct" href="../../game/app/struct.Flags.html" title="struct game::app::Flags">Flags</a></code><a class="srclink" href="../../src/game/app.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</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-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../game/app/struct.Flags.html" title="struct game::app::Flags">Flags</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/game/app.rs.html#569" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&amp;self) -&gt; <a class="struct" href="../../game/app/struct.Flags.html" title="struct game::app::Flags">Flags</a></code><a class="srclink" href="../../src/game/app.rs.html#569" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4 id="method.clone_from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#128-130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../game/app/struct.Flags.html" title="struct game::app::Flags">Flags</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../game/app/struct.Flags.html" title="struct game::app::Flags">Flags</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../game/app/struct.Flags.html" title="struct game::app::Flags">Flags</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../game/app/struct.Flags.html" title="struct game::app::Flags">Flags</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../game/app/struct.Flags.html" title="struct game::app::Flags">Flags</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#108-112" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#109-111" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210-214" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211-213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>

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 `PerMap` struct in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, PerMap"><title>game::app::PerMap - 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 id="default-settings"></script><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='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct PerMap</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.agents">agents</a><a href="#structfield.current_flags">current_flags</a><a href="#structfield.current_selection">current_selection</a><a href="#structfield.dirty_from_edits">dirty_from_edits</a><a href="#structfield.draw_map">draw_map</a><a href="#structfield.has_modified_trips">has_modified_trips</a><a href="#structfield.last_warped_from">last_warped_from</a><a href="#structfield.layer">layer</a><a href="#structfield.map">map</a><a href="#structfield.prebaked">prebaked</a><a href="#structfield.scenario">scenario</a><a href="#structfield.sim">sim</a><a href="#structfield.sim_cb">sim_cb</a><a href="#structfield.suspended_sim">suspended_sim</a><a href="#structfield.unedited_map">unedited_map</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.calculate_unedited_map">calculate_unedited_map</a><a href="#method.canonical_point">canonical_point</a><a href="#method.clear_sim">clear_sim</a><a href="#method.map_loaded">map_loaded</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-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">game</a>::<wbr><a href="index.html">app</a></p><script>window.sidebarCurrent = {name: "PerMap", 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!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></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/app.rs.html#596-627" title="goto source code">[src]</a></span><span class="in-band">Struct <a href="../index.html">game</a>::<wbr><a href="index.html">app</a>::<wbr><a class="struct" href="">PerMap</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct PerMap {
<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='../../game/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct PerMap</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.agents">agents</a><a href="#structfield.current_flags">current_flags</a><a href="#structfield.current_selection">current_selection</a><a href="#structfield.dirty_from_edits">dirty_from_edits</a><a href="#structfield.draw_map">draw_map</a><a href="#structfield.has_modified_trips">has_modified_trips</a><a href="#structfield.last_warped_from">last_warped_from</a><a href="#structfield.layer">layer</a><a href="#structfield.map">map</a><a href="#structfield.prebaked">prebaked</a><a href="#structfield.scenario">scenario</a><a href="#structfield.sim">sim</a><a href="#structfield.sim_cb">sim_cb</a><a href="#structfield.suspended_sim">suspended_sim</a><a href="#structfield.unedited_map">unedited_map</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.calculate_unedited_map">calculate_unedited_map</a><a href="#method.canonical_point">canonical_point</a><a href="#method.clear_sim">clear_sim</a><a href="#method.init_camera_for_loaded_map">init_camera_for_loaded_map</a><a href="#method.map_loaded">map_loaded</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-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">game</a>::<wbr><a href="index.html">app</a></p><script>window.sidebarCurrent = {name: "PerMap", 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!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></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/app.rs.html#578-609" title="goto source code">[src]</a></span><span class="in-band">Struct <a href="../index.html">game</a>::<wbr><a href="index.html">app</a>::<wbr><a class="struct" href="">PerMap</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct PerMap {
pub map: <a class="struct" href="../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>,
pub draw_map: <a class="struct" href="../../map_gui/render/map/struct.DrawMap.html" title="struct map_gui::render::map::DrawMap">DrawMap</a>,
pub sim: <a class="struct" href="../../sim/sim/struct.Sim.html" title="struct sim::sim::Sim">Sim</a>,
@ -29,10 +29,10 @@ scenario name too.</p>
gameplay mode; always verify the name matches what's needed.</p>
<p>Storing this may cost some memory, but otherwise resetting to midnight would require
loading it again from a file. This is particularly painful on the web!</p>
</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../game/app/struct.PerMap.html" title="struct game::app::PerMap">PerMap</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/game/app.rs.html#629-738" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.map_loaded" class="method"><code>fn <a href="#method.map_loaded" class="fnname">map_loaded</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;map: <a class="struct" href="../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;sim: <a class="struct" href="../../sim/sim/struct.Sim.html" title="struct sim::sim::Sim">Sim</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;splash: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;flags: <a class="struct" href="../../game/app/struct.Flags.html" title="struct game::app::Flags">Flags</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;opts: &amp;<a class="struct" href="../../map_gui/options/struct.Options.html" title="struct map_gui::options::Options">Options</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;cs: &amp;<a class="struct" href="../../map_gui/colors/struct.ColorScheme.html" title="struct map_gui::colors::ColorScheme">ColorScheme</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;timer: &amp;mut <a class="struct" href="../../abstutil/time/struct.Timer.html" title="struct abstutil::time::Timer">Timer</a>&lt;'_&gt;<br>) -&gt; <a class="struct" href="../../game/app/struct.PerMap.html" title="struct game::app::PerMap">PerMap</a></code><a class="srclink" href="../../src/game/app.rs.html#630-687" title="goto source code">[src]</a></h4><h4 id="method.clear_sim" class="method"><code>pub fn <a href="#method.clear_sim" class="fnname">clear_sim</a>(&amp;mut self) -&gt; <a class="struct" href="../../sim/sim/struct.Sim.html" title="struct sim::sim::Sim">Sim</a></code><a class="srclink" href="../../src/game/app.rs.html#690-700" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns whatever was there</p>
</div><h4 id="method.calculate_unedited_map" class="method"><code>pub fn <a href="#method.calculate_unedited_map" class="fnname">calculate_unedited_map</a>(&amp;self)</code><a class="srclink" href="../../src/game/app.rs.html#705-715" title="goto source code">[src]</a></h4><div class="docblock"><p>If needed, makes sure the unedited_map is populated. Callers can then do
</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../game/app/struct.PerMap.html" title="struct game::app::PerMap">PerMap</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/game/app.rs.html#611-718" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.map_loaded" class="method"><code>pub fn <a href="#method.map_loaded" class="fnname">map_loaded</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;map: <a class="struct" href="../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;sim: <a class="struct" href="../../sim/sim/struct.Sim.html" title="struct sim::sim::Sim">Sim</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;flags: <a class="struct" href="../../game/app/struct.Flags.html" title="struct game::app::Flags">Flags</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;opts: &amp;<a class="struct" href="../../map_gui/options/struct.Options.html" title="struct map_gui::options::Options">Options</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;cs: &amp;<a class="struct" href="../../map_gui/colors/struct.ColorScheme.html" title="struct map_gui::colors::ColorScheme">ColorScheme</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;timer: &amp;mut <a class="struct" href="../../abstutil/time/struct.Timer.html" title="struct abstutil::time::Timer">Timer</a>&lt;'_&gt;<br>) -&gt; <a class="struct" href="../../game/app/struct.PerMap.html" title="struct game::app::PerMap">PerMap</a></code><a class="srclink" href="../../src/game/app.rs.html#612-642" title="goto source code">[src]</a></h4><h4 id="method.init_camera_for_loaded_map" class="method"><code>pub fn <a href="#method.init_camera_for_loaded_map" class="fnname">init_camera_for_loaded_map</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;splash: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>)</code><a class="srclink" href="../../src/game/app.rs.html#644-667" title="goto source code">[src]</a></h4><h4 id="method.clear_sim" class="method"><code>pub fn <a href="#method.clear_sim" class="fnname">clear_sim</a>(&amp;mut self) -&gt; <a class="struct" href="../../sim/sim/struct.Sim.html" title="struct sim::sim::Sim">Sim</a></code><a class="srclink" href="../../src/game/app.rs.html#670-680" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns whatever was there</p>
</div><h4 id="method.calculate_unedited_map" class="method"><code>pub fn <a href="#method.calculate_unedited_map" class="fnname">calculate_unedited_map</a>(&amp;self)</code><a class="srclink" href="../../src/game/app.rs.html#685-695" title="goto source code">[src]</a></h4><div class="docblock"><p>If needed, makes sure the unedited_map is populated. Callers can then do
<code>self.unedited_map.borrow().unwrap_or(&amp;self.map)</code>.</p>
</div><h4 id="method.canonical_point" class="method"><code>pub fn <a href="#method.canonical_point" class="fnname">canonical_point</a>(&amp;self, id: <a class="enum" href="../../map_gui/enum.ID.html" title="enum map_gui::ID">ID</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../geom/pt/struct.Pt2D.html" title="struct geom::pt::Pt2D">Pt2D</a>&gt;</code><a class="srclink" href="../../src/game/app.rs.html#717-737" title="goto source code">[src]</a></h4></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../game/app/struct.PerMap.html" title="struct game::app::PerMap">PerMap</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../game/app/struct.PerMap.html" title="struct game::app::PerMap">PerMap</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../game/app/struct.PerMap.html" title="struct game::app::PerMap">PerMap</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../game/app/struct.PerMap.html" title="struct game::app::PerMap">PerMap</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../game/app/struct.PerMap.html" title="struct game::app::PerMap">PerMap</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#108-112" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#109-111" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div><h4 id="method.canonical_point" class="method"><code>pub fn <a href="#method.canonical_point" class="fnname">canonical_point</a>(&amp;self, id: <a class="enum" href="../../map_gui/enum.ID.html" title="enum map_gui::ID">ID</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../geom/pt/struct.Pt2D.html" title="struct geom::pt::Pt2D">Pt2D</a>&gt;</code><a class="srclink" href="../../src/game/app.rs.html#697-717" title="goto source code">[src]</a></h4></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../game/app/struct.PerMap.html" title="struct game::app::PerMap">PerMap</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../game/app/struct.PerMap.html" title="struct game::app::PerMap">PerMap</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../game/app/struct.PerMap.html" title="struct game::app::PerMap">PerMap</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../game/app/struct.PerMap.html" title="struct game::app::PerMap">PerMap</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../game/app/struct.PerMap.html" title="struct game::app::PerMap">PerMap</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#108-112" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#109-111" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210-214" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211-213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217-221" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218-220" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3 id="impl-Downcast" class="impl"><code class="in-band">impl&lt;T&gt; Downcast for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,&nbsp;</span></code><a href="#impl-Downcast" class="anchor"></a></h3><div class="impl-items"><h4 id="method.into_any" class="method hidden"><code>pub fn <a href="#method.into_any" class="fnname">into_any</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;T, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <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="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</code></h4><div class='docblock hidden'><p>Convert <code>Box&lt;dyn Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Box&lt;dyn Any&gt;</code>. <code>Box&lt;dyn Any&gt;</code> can

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

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 `ShowObject` trait in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, ShowObject"><title>game::app::ShowObject - 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 id="default-settings"></script><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 trait"><!--[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><p class="location">Trait ShowObject</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.layers">layers</a><a href="#tymethod.show">show</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">game</a>::<wbr><a href="index.html">app</a></p><script>window.sidebarCurrent = {name: "ShowObject", ty: "trait", relpath: ""};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></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/app.rs.html#560-563" title="goto source code">[src]</a></span><span class="in-band">Trait <a href="../index.html">game</a>::<wbr><a href="index.html">app</a>::<wbr><a class="trait" href="">ShowObject</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ShowObject {
<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/app.rs.html#542-545" title="goto source code">[src]</a></span><span class="in-band">Trait <a href="../index.html">game</a>::<wbr><a href="index.html">app</a>::<wbr><a class="trait" href="">ShowObject</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ShowObject {
fn <a href="#tymethod.show" class="fnname">show</a>(&amp;self, obj: &amp;<a class="enum" href="../../map_gui/enum.ID.html" title="enum map_gui::ID">ID</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
<div class="item-spacer"></div> fn <a href="#tymethod.layers" class="fnname">layers</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../game/app/struct.ShowLayers.html" title="struct game::app::ShowLayers">ShowLayers</a>;
}</pre></div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><h3 id="tymethod.show" class="method"><code>fn <a href="#tymethod.show" class="fnname">show</a>(&amp;self, obj: &amp;<a class="enum" href="../../map_gui/enum.ID.html" title="enum map_gui::ID">ID</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h3><h3 id="tymethod.layers" class="method"><code>fn <a href="#tymethod.layers" class="fnname">layers</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../game/app/struct.ShowLayers.html" title="struct game::app::ShowLayers">ShowLayers</a></code></h3></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ShowObject" class="impl"><code class="in-band">impl ShowObject for <a class="struct" href="../../game/app/struct.ShowEverything.html" title="struct game::app::ShowEverything">ShowEverything</a></code><a href="#impl-ShowObject" class="anchor"></a><a class="srclink" href="../../src/game/app.rs.html#577-585" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.show" class="method hidden"><code>fn <a href="#method.show" class="fnname">show</a>(&amp;self, _: &amp;<a class="enum" href="../../map_gui/enum.ID.html" title="enum map_gui::ID">ID</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/game/app.rs.html#578-580" title="goto source code">[src]</a></h4><h4 id="method.layers" class="method hidden"><code>fn <a href="#method.layers" class="fnname">layers</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../game/app/struct.ShowLayers.html" title="struct game::app::ShowLayers">ShowLayers</a></code><a class="srclink" href="../../src/game/app.rs.html#582-584" title="goto source code">[src]</a></h4></div><h3 id="impl-ShowObject-1" class="impl"><code class="in-band">impl ShowObject for <a class="struct" href="../../game/debug/struct.DebugMode.html" title="struct game::debug::DebugMode">DebugMode</a></code><a href="#impl-ShowObject-1" class="anchor"></a><a class="srclink" href="../../src/game/debug/mod.rs.html#370-388" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.show-1" class="method hidden"><code>fn <a href="#method.show-1" class="fnname">show</a>(&amp;self, obj: &amp;<a class="enum" href="../../map_gui/enum.ID.html" title="enum map_gui::ID">ID</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/game/debug/mod.rs.html#371-383" title="goto source code">[src]</a></h4><h4 id="method.layers-1" class="method hidden"><code>fn <a href="#method.layers-1" class="fnname">layers</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../game/app/struct.ShowLayers.html" title="struct game::app::ShowLayers">ShowLayers</a></code><a class="srclink" href="../../src/game/debug/mod.rs.html#385-387" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/game/app/trait.ShowObject.js" async></script></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>
}</pre></div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><h3 id="tymethod.show" class="method"><code>fn <a href="#tymethod.show" class="fnname">show</a>(&amp;self, obj: &amp;<a class="enum" href="../../map_gui/enum.ID.html" title="enum map_gui::ID">ID</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h3><h3 id="tymethod.layers" class="method"><code>fn <a href="#tymethod.layers" class="fnname">layers</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../game/app/struct.ShowLayers.html" title="struct game::app::ShowLayers">ShowLayers</a></code></h3></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ShowObject" class="impl"><code class="in-band">impl ShowObject for <a class="struct" href="../../game/app/struct.ShowEverything.html" title="struct game::app::ShowEverything">ShowEverything</a></code><a href="#impl-ShowObject" class="anchor"></a><a class="srclink" href="../../src/game/app.rs.html#559-567" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.show" class="method hidden"><code>fn <a href="#method.show" class="fnname">show</a>(&amp;self, _: &amp;<a class="enum" href="../../map_gui/enum.ID.html" title="enum map_gui::ID">ID</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/game/app.rs.html#560-562" title="goto source code">[src]</a></h4><h4 id="method.layers" class="method hidden"><code>fn <a href="#method.layers" class="fnname">layers</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../game/app/struct.ShowLayers.html" title="struct game::app::ShowLayers">ShowLayers</a></code><a class="srclink" href="../../src/game/app.rs.html#564-566" title="goto source code">[src]</a></h4></div><h3 id="impl-ShowObject-1" class="impl"><code class="in-band">impl ShowObject for <a class="struct" href="../../game/debug/struct.DebugMode.html" title="struct game::debug::DebugMode">DebugMode</a></code><a href="#impl-ShowObject-1" class="anchor"></a><a class="srclink" href="../../src/game/debug/mod.rs.html#370-388" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.show-1" class="method hidden"><code>fn <a href="#method.show-1" class="fnname">show</a>(&amp;self, obj: &amp;<a class="enum" href="../../map_gui/enum.ID.html" title="enum map_gui::ID">ID</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/game/debug/mod.rs.html#371-383" title="goto source code">[src]</a></h4><h4 id="method.layers-1" class="method hidden"><code>fn <a href="#method.layers-1" class="fnname">layers</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../game/app/struct.ShowLayers.html" title="struct game::app::ShowLayers">ShowLayers</a></code><a class="srclink" href="../../src/game/debug/mod.rs.html#385-387" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/game/app/trait.ShowObject.js" async></script></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>

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 `finish_app_setup` fn in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, finish_app_setup"><title>game::finish_app_setup - 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 id="default-settings"></script><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='../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></p><script>window.sidebarCurrent = {name: "finish_app_setup", 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!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></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/lib.rs.html#189-249" title="goto source code">[src]</a></span><span class="in-band">Function <a href="index.html">game</a>::<wbr><a class="fn" href="">finish_app_setup</a></span></h1><pre class="rust fn">fn finish_app_setup(<br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;app: &amp;mut <a class="struct" href="../game/app/struct.App.html" title="struct game::app::App">App</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;title: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;start_with_edits: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;maybe_mode: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../game/sandbox/gameplay/enum.GameplayMode.html" title="enum game::sandbox::gameplay::GameplayMode">GameplayMode</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;initialize_tutorial: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -&gt; <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 State&lt;<a class="struct" href="../game/app/struct.App.html" title="struct game::app::App">App</a>&gt;&gt;&gt;</pre></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>

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 `main` fn in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, main"><title>game::main - 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 id="default-settings"></script><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='../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></p><script>window.sidebarCurrent = {name: "main", 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!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></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/lib.rs.html#26-104" title="goto source code">[src]</a></span><span class="in-band">Function <a href="index.html">game</a>::<wbr><a class="fn" href="">main</a></span></h1><pre class="rust fn">pub fn main()</pre></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>
<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/lib.rs.html#28-106" title="goto source code">[src]</a></span><span class="in-band">Function <a href="index.html">game</a>::<wbr><a class="fn" href="">main</a></span></h1><pre class="rust fn">pub fn main()</pre></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>

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 `setup_app` fn in crate `game`."><meta name="keywords" content="rust, rustlang, rust-lang, setup_app"><title>game::setup_app - 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 id="default-settings"></script><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='../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></p><script>window.sidebarCurrent = {name: "setup_app", 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!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></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/lib.rs.html#106-170" title="goto source code">[src]</a></span><span class="in-band">Function <a href="index.html">game</a>::<wbr><a class="fn" href="">setup_app</a></span></h1><pre class="rust fn">fn setup_app(<br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;flags: <a class="struct" href="../game/app/struct.Flags.html" title="struct game::app::Flags">Flags</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;opts: <a class="struct" href="../map_gui/options/struct.Options.html" title="struct map_gui::options::Options">Options</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;start_with_edits: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;maybe_mode: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../game/sandbox/gameplay/enum.GameplayMode.html" title="enum game::sandbox::gameplay::GameplayMode">GameplayMode</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;initialize_tutorial: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="struct" href="../game/app/struct.App.html" title="struct game::app::App">App</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 State&lt;<a class="struct" href="../game/app/struct.App.html" title="struct game::app::App">App</a>&gt;&gt;&gt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></pre></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>
<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/lib.rs.html#108-187" title="goto source code">[src]</a></span><span class="in-band">Function <a href="index.html">game</a>::<wbr><a class="fn" href="">setup_app</a></span></h1><pre class="rust fn">fn setup_app(<br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut EventCtx&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;flags: <a class="struct" href="../game/app/struct.Flags.html" title="struct game::app::Flags">Flags</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;opts: <a class="struct" href="../map_gui/options/struct.Options.html" title="struct map_gui::options::Options">Options</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;start_with_edits: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;maybe_mode: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../game/sandbox/gameplay/enum.GameplayMode.html" title="enum game::sandbox::gameplay::GameplayMode">GameplayMode</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;initialize_tutorial: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="struct" href="../game/app/struct.App.html" title="struct game::app::App">App</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 State&lt;<a class="struct" href="../game/app/struct.App.html" title="struct game::app::App">App</a>&gt;&gt;&gt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></pre></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>

View File

@ -1,8 +1,8 @@
<!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` crate."><meta name="keywords" content="rust, rustlang, rust-lang, game"><title>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 id="default-settings"></script><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='../game/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Crate game</p><div class="block version"><p>Version 0.1.0</p></div><div class="sidebar-elems"><a id="all-types" href="all.html"><p>See all game's items</p></a><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#functions">Functions</a></li></ul></div><p class="location"></p><script>window.sidebarCurrent = {name: "game", ty: "mod", relpath: "../"};</script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></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/lib.rs.html#1-179" title="goto source code">[src]</a></span><span class="in-band">Crate <a class="mod" href="">game</a></span></h1><h2 id="modules" class="section-header"><a href="#modules">Modules</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/game/lib.rs.html#1-258" title="goto source code">[src]</a></span><span class="in-band">Crate <a class="mod" href="">game</a></span></h1><h2 id="modules" class="section-header"><a href="#modules">Modules</a></h2>
<table><tr class="module-item"><td><a class="mod" href="app/index.html" title="game::app mod">app</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="mod" href="challenges/index.html" title="game::challenges mod">challenges</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="mod" href="common/index.html" title="game::common mod">common</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="mod" href="debug/index.html" title="game::debug mod">debug</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="mod" href="devtools/index.html" title="game::devtools mod">devtools</a></td><td class="docblock-short"><p>This directory contains extra/experimental tools not directly related to A/B Street the game.
Eventually some might be split into separate crates.</p>
</td></tr><tr class="module-item"><td><a class="mod" href="edit/index.html" title="game::edit mod">edit</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="mod" href="info/index.html" title="game::info mod">info</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="mod" href="layer/index.html" title="game::layer mod">layer</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="mod" href="pregame/index.html" title="game::pregame mod">pregame</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="mod" href="sandbox/index.html" title="game::sandbox mod">sandbox</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.main.html" title="game::main fn">main</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="fn" href="fn.setup_app.html" title="game::setup_app fn">setup_app</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 = "game";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
<table><tr class="module-item"><td><a class="fn" href="fn.finish_app_setup.html" title="game::finish_app_setup fn">finish_app_setup</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="fn" href="fn.main.html" title="game::main fn">main</a></td><td class="docblock-short"></td></tr><tr class="module-item"><td><a class="fn" href="fn.setup_app.html" title="game::setup_app fn">setup_app</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 = "game";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>

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 id="default-settings"></script><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!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></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-b5501e76eef510ad/out/built.rs.html#53" 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;Sat, 09 Jan 2021 23:01:03 +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-b5501e76eef510ad/out/built.rs.html#53" 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;Sun, 10 Jan 2021 00:06:06 +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>

View File

@ -1 +1 @@
initSidebarItems({"fn":[["main",""],["setup_app",""]],"mod":[["app",""],["challenges",""],["common",""],["debug",""],["devtools","This directory contains extra/experimental tools not directly related to A/B Street the game. Eventually some might be split into separate crates."],["edit",""],["info",""],["layer",""],["pregame",""],["sandbox",""]]});
initSidebarItems({"fn":[["finish_app_setup",""],["main",""],["setup_app",""]],"mod":[["app",""],["challenges",""],["common",""],["debug",""],["devtools","This directory contains extra/experimental tools not directly related to A/B Street the game. Eventually some might be split into separate crates."],["edit",""],["info",""],["layer",""],["pregame",""],["sandbox",""]]});

File diff suppressed because one or more lines are too long

View File

@ -838,26 +838,6 @@
<span id="835">835</span>
<span id="836">836</span>
<span id="837">837</span>
<span id="838">838</span>
<span id="839">839</span>
<span id="840">840</span>
<span id="841">841</span>
<span id="842">842</span>
<span id="843">843</span>
<span id="844">844</span>
<span id="845">845</span>
<span id="846">846</span>
<span id="847">847</span>
<span id="848">848</span>
<span id="849">849</span>
<span id="850">850</span>
<span id="851">851</span>
<span id="852">852</span>
<span id="853">853</span>
<span id="854">854</span>
<span id="855">855</span>
<span id="856">856</span>
<span id="857">857</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">RefCell</span>;
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">BTreeMap</span>;
@ -901,24 +881,6 @@
}
<span class="kw">impl</span> <span class="ident">App</span> {
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">new</span>(<span class="ident">flags</span>: <span class="ident">Flags</span>, <span class="ident">opts</span>: <span class="ident">Options</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">splash</span>: <span class="ident">bool</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">App</span> {
<span class="kw">let</span> <span class="ident">cs</span> <span class="op">=</span> <span class="ident">ColorScheme</span>::<span class="ident">new</span>(<span class="ident">ctx</span>, <span class="ident">opts</span>.<span class="ident">color_scheme</span>);
<span class="kw">let</span> <span class="ident">primary</span> <span class="op">=</span> <span class="ident">ctx</span>.<span class="ident">loading_screen</span>(<span class="string">&quot;load map&quot;</span>, <span class="op">|</span><span class="ident">ctx</span>, <span class="kw-2">mut</span> <span class="ident">timer</span><span class="op">|</span> {
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">flags</span>.<span class="ident">sim_flags</span>.<span class="ident">modifiers</span>.<span class="ident">is_empty</span>());
<span class="kw">let</span> (<span class="ident">map</span>, <span class="ident">sim</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">flags</span>.<span class="ident">sim_flags</span>.<span class="ident">load</span>(<span class="ident">timer</span>);
<span class="ident">PerMap</span>::<span class="ident">map_loaded</span>(<span class="ident">map</span>, <span class="ident">sim</span>, <span class="ident">splash</span>, <span class="ident">flags</span>, <span class="kw-2">&amp;</span><span class="ident">opts</span>, <span class="kw-2">&amp;</span><span class="ident">cs</span>, <span class="ident">ctx</span>, <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">timer</span>)
});
<span class="ident">App</span> {
<span class="ident">primary</span>,
<span class="ident">cs</span>,
<span class="ident">opts</span>,
<span class="ident">per_obj</span>: <span class="ident">PerObjectActions</span>::<span class="ident">new</span>(),
<span class="ident">session</span>: <span class="ident">SessionState</span>::<span class="ident">empty</span>(),
}
}
<span class="comment">// TODO Should the prebaked methods be on primary along with the data?</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">has_prebaked</span>(<span class="kw-2">&amp;</span><span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="prelude-ty">Option</span><span class="op">&lt;</span>(<span class="kw-2">&amp;</span><span class="ident">MapName</span>, <span class="kw-2">&amp;</span><span class="ident">String</span>)<span class="op">&gt;</span> {
<span class="self">self</span>.<span class="ident">primary</span>.<span class="ident">prebaked</span>.<span class="ident">as_ref</span>().<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">m</span>, <span class="ident">s</span>, <span class="kw">_</span>)<span class="op">|</span> (<span class="ident">m</span>, <span class="ident">s</span>))
@ -1373,13 +1335,13 @@
<span class="self">self</span>.<span class="ident">primary</span> <span class="op">=</span> <span class="ident">PerMap</span>::<span class="ident">map_loaded</span>(
<span class="ident">map</span>,
<span class="ident">sim</span>,
<span class="bool-val">false</span>,
<span class="self">self</span>.<span class="ident">primary</span>.<span class="ident">current_flags</span>.<span class="ident">clone</span>(),
<span class="kw-2">&amp;</span><span class="self">self</span>.<span class="ident">opts</span>,
<span class="kw-2">&amp;</span><span class="self">self</span>.<span class="ident">cs</span>,
<span class="ident">ctx</span>,
<span class="ident">timer</span>,
)
);
<span class="self">self</span>.<span class="ident">primary</span>.<span class="ident">init_camera_for_loaded_map</span>(<span class="ident">ctx</span>, <span class="bool-val">false</span>);
}
<span class="kw">fn</span> <span class="ident">draw_with_opts</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">g</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">GfxCtx</span>, <span class="ident">opts</span>: <span class="ident">DrawOptions</span>) {
@ -1488,10 +1450,9 @@
}
<span class="kw">impl</span> <span class="ident">PerMap</span> {
<span class="kw">fn</span> <span class="ident">map_loaded</span>(
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">map_loaded</span>(
<span class="ident">map</span>: <span class="ident">Map</span>,
<span class="ident">sim</span>: <span class="ident">Sim</span>,
<span class="ident">splash</span>: <span class="ident">bool</span>,
<span class="ident">flags</span>: <span class="ident">Flags</span>,
<span class="ident">opts</span>: <span class="kw-2">&amp;</span><span class="ident">Options</span>,
<span class="ident">cs</span>: <span class="kw-2">&amp;</span><span class="ident">ColorScheme</span>,
@ -1502,7 +1463,7 @@
<span class="kw">let</span> <span class="ident">draw_map</span> <span class="op">=</span> <span class="ident">DrawMap</span>::<span class="ident">new</span>(<span class="ident">ctx</span>, <span class="kw-2">&amp;</span><span class="ident">map</span>, <span class="ident">opts</span>, <span class="ident">cs</span>, <span class="ident">timer</span>);
<span class="ident">timer</span>.<span class="ident">stop</span>(<span class="string">&quot;draw_map&quot;</span>);
<span class="kw">let</span> <span class="ident">per_map</span> <span class="op">=</span> <span class="ident">PerMap</span> {
<span class="ident">PerMap</span> {
<span class="ident">map</span>,
<span class="ident">draw_map</span>,
<span class="ident">sim</span>,
@ -1518,33 +1479,32 @@
<span class="ident">suspended_sim</span>: <span class="prelude-val">None</span>,
<span class="ident">prebaked</span>: <span class="prelude-val">None</span>,
<span class="ident">scenario</span>: <span class="prelude-val">None</span>,
};
}
}
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rng</span> <span class="op">=</span> <span class="ident">per_map</span>.<span class="ident">current_flags</span>.<span class="ident">sim_flags</span>.<span class="ident">make_rng</span>();
<span class="kw">let</span> <span class="ident">rand_focus_pt</span> <span class="op">=</span> <span class="ident">per_map</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">init_camera_for_loaded_map</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">splash</span>: <span class="ident">bool</span>) {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rng</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">current_flags</span>.<span class="ident">sim_flags</span>.<span class="ident">make_rng</span>();
<span class="kw">let</span> <span class="ident">rand_focus_pt</span> <span class="op">=</span> <span class="self">self</span>
.<span class="ident">map</span>
.<span class="ident">all_buildings</span>()
.<span class="ident">choose</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">rng</span>)
.<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">b</span><span class="op">|</span> <span class="ident">per_map</span>.<span class="ident">canonical_point</span>(<span class="ident">ID</span>::<span class="ident">Building</span>(<span class="ident">b</span>.<span class="ident">id</span>)))
.<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">b</span><span class="op">|</span> <span class="self">self</span>.<span class="ident">canonical_point</span>(<span class="ident">ID</span>::<span class="ident">Building</span>(<span class="ident">b</span>.<span class="ident">id</span>)))
.<span class="ident">or_else</span>(<span class="op">|</span><span class="op">|</span> {
<span class="ident">per_map</span>
.<span class="ident">map</span>
<span class="self">self</span>.<span class="ident">map</span>
.<span class="ident">all_lanes</span>()
.<span class="ident">choose</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">rng</span>)
.<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">l</span><span class="op">|</span> <span class="ident">per_map</span>.<span class="ident">canonical_point</span>(<span class="ident">ID</span>::<span class="ident">Lane</span>(<span class="ident">l</span>.<span class="ident">id</span>)))
.<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">l</span><span class="op">|</span> <span class="self">self</span>.<span class="ident">canonical_point</span>(<span class="ident">ID</span>::<span class="ident">Lane</span>(<span class="ident">l</span>.<span class="ident">id</span>)))
})
.<span class="ident">unwrap_or_else</span>(<span class="op">|</span><span class="op">|</span> <span class="ident">per_map</span>.<span class="ident">map</span>.<span class="ident">get_bounds</span>().<span class="ident">center</span>());
.<span class="ident">unwrap_or_else</span>(<span class="op">|</span><span class="op">|</span> <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">get_bounds</span>().<span class="ident">center</span>());
<span class="kw">if</span> <span class="ident">splash</span> {
<span class="ident">ctx</span>.<span class="ident">canvas</span>.<span class="ident">center_on_map_pt</span>(<span class="ident">rand_focus_pt</span>);
} <span class="kw">else</span> {
<span class="kw">if</span> <span class="op">!</span><span class="ident">CameraState</span>::<span class="ident">load</span>(<span class="ident">ctx</span>, <span class="ident">per_map</span>.<span class="ident">map</span>.<span class="ident">get_name</span>()) {
<span class="kw">if</span> <span class="op">!</span><span class="ident">CameraState</span>::<span class="ident">load</span>(<span class="ident">ctx</span>, <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">get_name</span>()) {
<span class="macro">info</span><span class="macro">!</span>(<span class="string">&quot;Couldn&#39;t load camera state, just focusing on an arbitrary building&quot;</span>);
<span class="ident">ctx</span>.<span class="ident">canvas</span>.<span class="ident">center_on_map_pt</span>(<span class="ident">rand_focus_pt</span>);
}
}
<span class="ident">per_map</span>
}
<span class="doccomment">/// Returns whatever was there</span>

View File

@ -122,7 +122,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.49.0 (e1884a8e3 2020-12-29)&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;Sat, 09 Jan 2021 23:01:03 +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;Sun, 10 Jan 2021 00:06:06 +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

@ -180,16 +180,97 @@
<span id="177">177</span>
<span id="178">178</span>
<span id="179">179</span>
<span id="180">180</span>
<span id="181">181</span>
<span id="182">182</span>
<span id="183">183</span>
<span id="184">184</span>
<span id="185">185</span>
<span id="186">186</span>
<span id="187">187</span>
<span id="188">188</span>
<span id="189">189</span>
<span id="190">190</span>
<span id="191">191</span>
<span id="192">192</span>
<span id="193">193</span>
<span id="194">194</span>
<span id="195">195</span>
<span id="196">196</span>
<span id="197">197</span>
<span id="198">198</span>
<span id="199">199</span>
<span id="200">200</span>
<span id="201">201</span>
<span id="202">202</span>
<span id="203">203</span>
<span id="204">204</span>
<span id="205">205</span>
<span id="206">206</span>
<span id="207">207</span>
<span id="208">208</span>
<span id="209">209</span>
<span id="210">210</span>
<span id="211">211</span>
<span id="212">212</span>
<span id="213">213</span>
<span id="214">214</span>
<span id="215">215</span>
<span id="216">216</span>
<span id="217">217</span>
<span id="218">218</span>
<span id="219">219</span>
<span id="220">220</span>
<span id="221">221</span>
<span id="222">222</span>
<span id="223">223</span>
<span id="224">224</span>
<span id="225">225</span>
<span id="226">226</span>
<span id="227">227</span>
<span id="228">228</span>
<span id="229">229</span>
<span id="230">230</span>
<span id="231">231</span>
<span id="232">232</span>
<span id="233">233</span>
<span id="234">234</span>
<span id="235">235</span>
<span id="236">236</span>
<span id="237">237</span>
<span id="238">238</span>
<span id="239">239</span>
<span id="240">240</span>
<span id="241">241</span>
<span id="242">242</span>
<span id="243">243</span>
<span id="244">244</span>
<span id="245">245</span>
<span id="246">246</span>
<span id="247">247</span>
<span id="248">248</span>
<span id="249">249</span>
<span id="250">250</span>
<span id="251">251</span>
<span id="252">252</span>
<span id="253">253</span>
<span id="254">254</span>
<span id="255">255</span>
<span id="256">256</span>
<span id="257">257</span>
<span id="258">258</span>
</pre><div class="example-wrap"><pre class="rust ">
<span class="attribute">#[<span class="ident">macro_use</span>]</span>
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">anyhow</span>;
<span class="attribute">#[<span class="ident">macro_use</span>]</span>
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">log</span>;
<span class="kw">use</span> <span class="ident">abstutil</span>::<span class="ident">CmdArgs</span>;
<span class="kw">use</span> <span class="ident">abstio</span>::<span class="ident">MapName</span>;
<span class="kw">use</span> <span class="ident">abstutil</span>::{<span class="ident">CmdArgs</span>, <span class="ident">Timer</span>};
<span class="kw">use</span> <span class="ident">map_gui</span>::<span class="ident">options</span>::<span class="ident">Options</span>;
<span class="kw">use</span> <span class="ident">sim</span>::<span class="ident">SimFlags</span>;
<span class="kw">use</span> <span class="ident">widgetry</span>::{<span class="ident">EventCtx</span>, <span class="ident">State</span>};
<span class="kw">use</span> <span class="ident">map_model</span>::<span class="ident">Map</span>;
<span class="kw">use</span> <span class="ident">sim</span>::{<span class="ident">Sim</span>, <span class="ident">SimFlags</span>};
<span class="kw">use</span> <span class="ident">widgetry</span>::{<span class="ident">EventCtx</span>, <span class="ident">State</span>, <span class="ident">Transition</span>};
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">app</span>::{<span class="ident">App</span>, <span class="ident">Flags</span>};
<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">pregame</span>::<span class="ident">TitleScreen</span>;
@ -298,7 +379,84 @@
<span class="op">&amp;&amp;</span> <span class="op">!</span><span class="ident">flags</span>.<span class="ident">sim_flags</span>.<span class="ident">load</span>.<span class="ident">contains</span>(<span class="string">&quot;player/save&quot;</span>)
<span class="op">&amp;&amp;</span> <span class="op">!</span><span class="ident">flags</span>.<span class="ident">sim_flags</span>.<span class="ident">load</span>.<span class="ident">contains</span>(<span class="string">&quot;/scenarios/&quot;</span>)
<span class="op">&amp;&amp;</span> <span class="ident">maybe_mode</span>.<span class="ident">is_none</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">app</span> <span class="op">=</span> <span class="ident">App</span>::<span class="ident">new</span>(<span class="ident">flags</span>, <span class="ident">opts</span>, <span class="ident">ctx</span>, <span class="ident">title</span>);
<span class="kw">let</span> <span class="ident">cs</span> <span class="op">=</span> <span class="ident">map_gui</span>::<span class="ident">colors</span>::<span class="ident">ColorScheme</span>::<span class="ident">new</span>(<span class="ident">ctx</span>, <span class="ident">opts</span>.<span class="ident">color_scheme</span>);
<span class="comment">// SimFlags::load doesn&#39;t know how to do async IO, which we need on the web. But in the common</span>
<span class="comment">// case, all we&#39;re creating there is a map. If so, use the proper async interface.</span>
<span class="kw">if</span> <span class="ident">flags</span>.<span class="ident">sim_flags</span>.<span class="ident">load</span>.<span class="ident">contains</span>(<span class="string">&quot;/maps/&quot;</span>) {
<span class="comment">// Get App created with a dummy blank map</span>
<span class="kw">let</span> <span class="ident">map</span> <span class="op">=</span> <span class="ident">Map</span>::<span class="ident">blank</span>();
<span class="kw">let</span> <span class="ident">sim</span> <span class="op">=</span> <span class="ident">Sim</span>::<span class="ident">new</span>(<span class="kw-2">&amp;</span><span class="ident">map</span>, <span class="ident">flags</span>.<span class="ident">sim_flags</span>.<span class="ident">opts</span>.<span class="ident">clone</span>(), <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">Timer</span>::<span class="ident">throwaway</span>());
<span class="kw">let</span> <span class="ident">primary</span> <span class="op">=</span> <span class="kw">crate</span>::<span class="ident">app</span>::<span class="ident">PerMap</span>::<span class="ident">map_loaded</span>(
<span class="ident">map</span>,
<span class="ident">sim</span>,
<span class="ident">flags</span>,
<span class="kw-2">&amp;</span><span class="ident">opts</span>,
<span class="kw-2">&amp;</span><span class="ident">cs</span>,
<span class="ident">ctx</span>,
<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">Timer</span>::<span class="ident">throwaway</span>(),
);
<span class="kw">let</span> <span class="ident">app</span> <span class="op">=</span> <span class="ident">App</span> {
<span class="ident">primary</span>,
<span class="ident">cs</span>,
<span class="ident">opts</span>,
<span class="ident">per_obj</span>: <span class="kw">crate</span>::<span class="ident">app</span>::<span class="ident">PerObjectActions</span>::<span class="ident">new</span>(),
<span class="ident">session</span>: <span class="kw">crate</span>::<span class="ident">app</span>::<span class="ident">SessionState</span>::<span class="ident">empty</span>(),
};
<span class="kw">let</span> <span class="ident">map_name</span> <span class="op">=</span> <span class="ident">MapName</span>::<span class="ident">from_path</span>(<span class="kw-2">&amp;</span><span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">current_flags</span>.<span class="ident">sim_flags</span>.<span class="ident">load</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">states</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[<span class="ident">map_gui</span>::<span class="ident">load</span>::<span class="ident">MapLoader</span>::<span class="ident">new</span>(
<span class="ident">ctx</span>,
<span class="kw-2">&amp;</span><span class="ident">app</span>,
<span class="ident">map_name</span>,
<span class="ident">Box</span>::<span class="ident">new</span>(<span class="kw">move</span> <span class="op">|</span><span class="ident">ctx</span>, <span class="ident">app</span><span class="op">|</span> {
<span class="ident">Transition</span>::<span class="ident">Clear</span>(<span class="ident">finish_app_setup</span>(
<span class="ident">ctx</span>,
<span class="ident">app</span>,
<span class="ident">title</span>,
<span class="ident">start_with_edits</span>,
<span class="ident">maybe_mode</span>,
<span class="ident">initialize_tutorial</span>,
))
}),
)];
(<span class="ident">app</span>, <span class="ident">states</span>)
} <span class="kw">else</span> {
<span class="comment">// We&#39;re loading a savestate or a scenario or a RawMap. Do it with blocking IO. This won&#39;t</span>
<span class="comment">// work on the web.</span>
<span class="comment">// TODO Handle starting from a scenario; that&#39;s also a likely useful case for the web.</span>
<span class="kw">let</span> <span class="ident">primary</span> <span class="op">=</span> <span class="ident">ctx</span>.<span class="ident">loading_screen</span>(<span class="string">&quot;load map&quot;</span>, <span class="op">|</span><span class="ident">ctx</span>, <span class="kw-2">mut</span> <span class="ident">timer</span><span class="op">|</span> {
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">flags</span>.<span class="ident">sim_flags</span>.<span class="ident">modifiers</span>.<span class="ident">is_empty</span>());
<span class="kw">let</span> (<span class="ident">map</span>, <span class="ident">sim</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">flags</span>.<span class="ident">sim_flags</span>.<span class="ident">load</span>(<span class="ident">timer</span>);
<span class="kw">crate</span>::<span class="ident">app</span>::<span class="ident">PerMap</span>::<span class="ident">map_loaded</span>(<span class="ident">map</span>, <span class="ident">sim</span>, <span class="ident">flags</span>, <span class="kw-2">&amp;</span><span class="ident">opts</span>, <span class="kw-2">&amp;</span><span class="ident">cs</span>, <span class="ident">ctx</span>, <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">timer</span>)
});
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">app</span> <span class="op">=</span> <span class="ident">App</span> {
<span class="ident">primary</span>,
<span class="ident">cs</span>,
<span class="ident">opts</span>,
<span class="ident">per_obj</span>: <span class="kw">crate</span>::<span class="ident">app</span>::<span class="ident">PerObjectActions</span>::<span class="ident">new</span>(),
<span class="ident">session</span>: <span class="kw">crate</span>::<span class="ident">app</span>::<span class="ident">SessionState</span>::<span class="ident">empty</span>(),
};
<span class="kw">let</span> <span class="ident">states</span> <span class="op">=</span> <span class="ident">finish_app_setup</span>(
<span class="ident">ctx</span>,
<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">app</span>,
<span class="ident">title</span>,
<span class="ident">start_with_edits</span>,
<span class="ident">maybe_mode</span>,
<span class="ident">initialize_tutorial</span>,
);
(<span class="ident">app</span>, <span class="ident">states</span>)
}
}
<span class="kw">fn</span> <span class="ident">finish_app_setup</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="ident">title</span>: <span class="ident">bool</span>,
<span class="ident">start_with_edits</span>: <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">String</span><span class="op">&gt;</span>,
<span class="ident">maybe_mode</span>: <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">GameplayMode</span><span class="op">&gt;</span>,
<span class="ident">initialize_tutorial</span>: <span class="ident">bool</span>,
) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">Vec</span><span class="op">&lt;</span><span class="ident">Box</span><span class="op">&lt;</span><span class="ident">dyn</span> <span class="ident">State</span><span class="op">&lt;</span><span class="ident">App</span><span class="op">&gt;</span><span class="op">&gt;</span><span class="op">&gt;</span> {
<span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">init_camera_for_loaded_map</span>(<span class="ident">ctx</span>, <span class="op">!</span><span class="ident">title</span>);
<span class="comment">// Handle savestates</span>
<span class="kw">let</span> <span class="ident">savestate</span> <span class="op">=</span> <span class="kw">if</span> <span class="ident">app</span>
@ -318,14 +476,14 @@
<span class="comment">// these flags later, but we don&#39;t want to keep applying the same edits.</span>
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">edits_name</span>) <span class="op">=</span> <span class="ident">start_with_edits</span> {
<span class="comment">// TODO Maybe loading screen</span>
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">timer</span> <span class="op">=</span> <span class="ident">abstutil</span>::<span class="ident">Timer</span>::<span class="ident">new</span>(<span class="string">&quot;apply initial edits&quot;</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">timer</span> <span class="op">=</span> <span class="ident">Timer</span>::<span class="ident">new</span>(<span class="string">&quot;apply initial edits&quot;</span>);
<span class="kw">let</span> <span class="ident">edits</span> <span class="op">=</span> <span class="ident">map_model</span>::<span class="ident">MapEdits</span>::<span class="ident">load</span>(
<span class="kw-2">&amp;</span><span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">map</span>,
<span class="ident">abstio</span>::<span class="ident">path_edits</span>(<span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">map</span>.<span class="ident">get_name</span>(), <span class="kw-2">&amp;</span><span class="ident">edits_name</span>),
<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">timer</span>,
)
.<span class="ident">unwrap</span>();
<span class="kw">crate</span>::<span class="ident">edit</span>::<span class="ident">apply_map_edits</span>(<span class="ident">ctx</span>, <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">app</span>, <span class="ident">edits</span>);
<span class="kw">crate</span>::<span class="ident">edit</span>::<span class="ident">apply_map_edits</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">edits</span>);
<span class="ident">app</span>.<span class="ident">primary</span>
.<span class="ident">map</span>
.<span class="ident">recalculate_pathfinding_after_edits</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">timer</span>);
@ -333,15 +491,15 @@
}
<span class="kw">if</span> <span class="ident">initialize_tutorial</span> {
<span class="kw">crate</span>::<span class="ident">sandbox</span>::<span class="ident">gameplay</span>::<span class="ident">Tutorial</span>::<span class="ident">initialize</span>(<span class="ident">ctx</span>, <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">app</span>);
<span class="kw">crate</span>::<span class="ident">sandbox</span>::<span class="ident">gameplay</span>::<span class="ident">Tutorial</span>::<span class="ident">initialize</span>(<span class="ident">ctx</span>, <span class="ident">app</span>);
}
<span class="kw">let</span> <span class="ident">states</span>: <span class="ident">Vec</span><span class="op">&lt;</span><span class="ident">Box</span><span class="op">&lt;</span><span class="ident">dyn</span> <span class="ident">State</span><span class="op">&lt;</span><span class="ident">App</span><span class="op">&gt;</span><span class="op">&gt;</span><span class="op">&gt;</span> <span class="op">=</span> <span class="kw">if</span> <span class="ident">title</span> {
<span class="macro">vec</span><span class="macro">!</span>[<span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">TitleScreen</span>::<span class="ident">new</span>(<span class="ident">ctx</span>, <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">app</span>))]
<span class="macro">vec</span><span class="macro">!</span>[<span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">TitleScreen</span>::<span class="ident">new</span>(<span class="ident">ctx</span>, <span class="ident">app</span>))]
} <span class="kw">else</span> {
<span class="kw">let</span> <span class="ident">mode</span> <span class="op">=</span> <span class="ident">maybe_mode</span>
.<span class="ident">unwrap_or_else</span>(<span class="op">|</span><span class="op">|</span> <span class="ident">GameplayMode</span>::<span class="ident">Freeform</span>(<span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">map</span>.<span class="ident">get_name</span>().<span class="ident">clone</span>()));
<span class="macro">vec</span><span class="macro">!</span>[<span class="ident">SandboxMode</span>::<span class="ident">simple_new</span>(<span class="ident">ctx</span>, <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">app</span>, <span class="ident">mode</span>)]
<span class="macro">vec</span><span class="macro">!</span>[<span class="ident">SandboxMode</span>::<span class="ident">simple_new</span>(<span class="ident">ctx</span>, <span class="ident">app</span>, <span class="ident">mode</span>)]
};
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">ss</span>) <span class="op">=</span> <span class="ident">savestate</span> {
<span class="comment">// TODO This is weird, we&#39;re left in Freeform mode with the wrong UI. Can&#39;t instantiate</span>
@ -349,7 +507,7 @@
<span class="ident">app</span>.<span class="ident">primary</span>.<span class="ident">sim</span> <span class="op">=</span> <span class="ident">ss</span>;
}
(<span class="ident">app</span>, <span class="ident">states</span>)
<span class="ident">states</span>
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">target_arch</span> <span class="op">=</span> <span class="string">&quot;wasm32&quot;</span>)]</span>