diff --git a/rustdoc/game_logic/all.html b/rustdoc/game_logic/all.html index cd019a03..da479aa5 100644 --- a/rustdoc/game_logic/all.html +++ b/rustdoc/game_logic/all.html @@ -2,5 +2,5 @@

List of all items[] -

Structs

Enums

Functions

Typedefs

Constants

+

Structs

Enums

Functions

Typedefs

Constants

\ No newline at end of file diff --git a/rustdoc/game_logic/scenes/index.html b/rustdoc/game_logic/scenes/index.html index 664d0528..60a97449 100644 --- a/rustdoc/game_logic/scenes/index.html +++ b/rustdoc/game_logic/scenes/index.html @@ -1,10 +1,11 @@ game_logic::scenes - Rust

Module game_logic::scenes[][src]

Expand description

The render code for various scenes

+

Module scenes

Module game_logic::scenes[][src]

Expand description

The render code for various scenes

Overview

This will probably become a messy module over time. Stick your rendering code here

Modules

-

This scene encompasses all of the game where the player can walk around.

+

This scene encompasses the main menu system

+

This scene encompasses all of the game where the player can walk around.

This “scene” is used only for testing animation and resource loading It should be removed once the game is being worked on

Structs

diff --git a/rustdoc/game_logic/scenes/main_menu/enum.MenuStateSignal.html b/rustdoc/game_logic/scenes/main_menu/enum.MenuStateSignal.html new file mode 100644 index 00000000..274ac6e2 --- /dev/null +++ b/rustdoc/game_logic/scenes/main_menu/enum.MenuStateSignal.html @@ -0,0 +1,40 @@ +MenuStateSignal in game_logic::scenes::main_menu - Rust +

Enum game_logic::scenes::main_menu::MenuStateSignal[][src]

pub enum MenuStateSignal {
+    StartGame,
+    QuitGame,
+    DoMainMenu,
+    DoOptions,
+    DoCredits,
+    DoLeaderboard,
+}

Variants

StartGame

QuitGame

DoMainMenu

DoOptions

DoCredits

DoLeaderboard

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The inverse inclusion map: attempts to construct self from the equivalent element of its +superset. Read more

+

Checks if self is actually part of its subset T (and can be converted to it).

+

Use with care! Same as self.to_subset but without any property checks. Always succeeds.

+

The inclusion map: converts self to the equivalent element of its superset.

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into #41263)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
+ \ No newline at end of file diff --git a/rustdoc/game_logic/scenes/main_menu/index.html b/rustdoc/game_logic/scenes/main_menu/index.html new file mode 100644 index 00000000..8170e2c7 --- /dev/null +++ b/rustdoc/game_logic/scenes/main_menu/index.html @@ -0,0 +1,7 @@ +game_logic::scenes::main_menu - Rust +

Module game_logic::scenes::main_menu[][src]

Expand description

This scene encompasses the main menu system

+

Structs

+

Enums

+
+ \ No newline at end of file diff --git a/rustdoc/game_logic/scenes/main_menu/sidebar-items.js b/rustdoc/game_logic/scenes/main_menu/sidebar-items.js new file mode 100644 index 00000000..07a3c5a9 --- /dev/null +++ b/rustdoc/game_logic/scenes/main_menu/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"enum":[["MenuStateSignal",""]],"struct":[["MainMenu",""]]}); \ No newline at end of file diff --git a/rustdoc/game_logic/scenes/main_menu/struct.MainMenu.html b/rustdoc/game_logic/scenes/main_menu/struct.MainMenu.html new file mode 100644 index 00000000..edea6b1a --- /dev/null +++ b/rustdoc/game_logic/scenes/main_menu/struct.MainMenu.html @@ -0,0 +1,31 @@ +MainMenu in game_logic::scenes::main_menu - Rust +

Struct game_logic::scenes::main_menu::MainMenu[][src]

pub struct MainMenu {
+    has_updated_discord_rpc: bool,
+}

Fields

has_updated_discord_rpc: bool

Implementations

Construct a new MainMenu

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The inverse inclusion map: attempts to construct self from the equivalent element of its +superset. Read more

+

Checks if self is actually part of its subset T (and can be converted to it).

+

Use with care! Same as self.to_subset but without any property checks. Always succeeds.

+

The inclusion map: converts self to the equivalent element of its superset.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
+ \ No newline at end of file diff --git a/rustdoc/game_logic/scenes/sidebar-items.js b/rustdoc/game_logic/scenes/sidebar-items.js index b844c4d8..d96c0791 100644 --- a/rustdoc/game_logic/scenes/sidebar-items.js +++ b/rustdoc/game_logic/scenes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"mod":[["player_interaction","This scene encompasses all of the game where the player can walk around."],["test_fox","This “scene” is used only for testing animation and resource loading It should be removed once the game is being worked on"]],"struct":[["SceneRenderDelegate","Delegate for handling rendering. This is a struct to allow for stateful data (like sub-screens) to be set up"]]}); \ No newline at end of file +initSidebarItems({"mod":[["main_menu","This scene encompasses the main menu system"],["player_interaction","This scene encompasses all of the game where the player can walk around."],["test_fox","This “scene” is used only for testing animation and resource loading It should be removed once the game is being worked on"]],"struct":[["SceneRenderDelegate","Delegate for handling rendering. This is a struct to allow for stateful data (like sub-screens) to be set up"]]}); \ No newline at end of file diff --git a/rustdoc/game_logic/scenes/struct.SceneRenderDelegate.html b/rustdoc/game_logic/scenes/struct.SceneRenderDelegate.html index 17449661..24e99693 100644 --- a/rustdoc/game_logic/scenes/struct.SceneRenderDelegate.html +++ b/rustdoc/game_logic/scenes/struct.SceneRenderDelegate.html @@ -1,14 +1,16 @@ SceneRenderDelegate in game_logic::scenes - Rust

Struct game_logic::scenes::SceneRenderDelegate[][src]

pub struct SceneRenderDelegate {
+        

Struct SceneRenderDelegate

Struct game_logic::scenes::SceneRenderDelegate[][src]

pub struct SceneRenderDelegate {
+    menu_control_signal: MenuStateSignal,
     scene_test_fox: TestFoxScene,
     scene_playable: PlayableScene,
+    scene_main_menu: MainMenu,
 }
Expand description

Delegate for handling rendering. This is a struct to allow for stateful data (like sub-screens) to be set up

-

Fields

scene_test_fox: TestFoxScenescene_playable: PlayableScene

Implementations

This is called when the game first loads

-

This is called every frame once the game has started.

+

Fields

menu_control_signal: MenuStateSignalscene_test_fox: TestFoxScenescene_playable: PlayableScenescene_main_menu: MainMenu

Implementations

This is called when the game first loads

+

This is called every frame once the game has started.

Keep in mind everything you do here will block the main thread (no loading files plz)

-

Trait Implementations

If you need anything to happen when the game closes, stick it here.

+

Trait Implementations

If you need anything to happen when the game closes, stick it here.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/rustdoc/implementors/core/clone/trait.Clone.js b/rustdoc/implementors/core/clone/trait.Clone.js index 38848ddf..51061cc4 100644 --- a/rustdoc/implementors/core/clone/trait.Clone.js +++ b/rustdoc/implementors/core/clone/trait.Clone.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["game_logic"] = [{"text":"impl Clone for KnownSpriteType","synthetic":false,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl Clone for DiscordRpcSignal","synthetic":false,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl Clone for StatefulDiscordRpcSignalHandler","synthetic":false,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl Clone for PersistentGameSettings","synthetic":false,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl Clone for GameSaveState","synthetic":false,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl Clone for FrameTextureDescriptor","synthetic":false,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl Clone for AnimatedTextureMetadata","synthetic":false,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl Clone for PreloadState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl Clone for LoadingState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl Clone for RenderGameState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl Clone for SmFailedState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl Clone for RenderBackendStates","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl Clone for Player","synthetic":false,"types":["game_logic::model::player::Player"]}]; +implementors["game_logic"] = [{"text":"impl Clone for KnownSpriteType","synthetic":false,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl Clone for DiscordRpcSignal","synthetic":false,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl Clone for StatefulDiscordRpcSignalHandler","synthetic":false,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl Clone for PersistentGameSettings","synthetic":false,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl Clone for GameSaveState","synthetic":false,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl Clone for FrameTextureDescriptor","synthetic":false,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl Clone for AnimatedTextureMetadata","synthetic":false,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl Clone for PreloadState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl Clone for LoadingState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl Clone for RenderGameState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl Clone for SmFailedState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl Clone for RenderBackendStates","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl Clone for MenuStateSignal","synthetic":false,"types":["game_logic::scenes::main_menu::MenuStateSignal"]},{"text":"impl Clone for Player","synthetic":false,"types":["game_logic::model::player::Player"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/core/fmt/trait.Debug.js b/rustdoc/implementors/core/fmt/trait.Debug.js index 9483ed48..6c62f2d9 100644 --- a/rustdoc/implementors/core/fmt/trait.Debug.js +++ b/rustdoc/implementors/core/fmt/trait.Debug.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["game_logic"] = [{"text":"impl Debug for InternalJsonLoadError","synthetic":false,"types":["game_logic::asset_manager::json::InternalJsonLoadError"]},{"text":"impl Debug for KnownSpriteType","synthetic":false,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl Debug for ResourceLoadError","synthetic":false,"types":["game_logic::asset_manager::texture::ResourceLoadError"]},{"text":"impl Debug for DiscordRpcSignal","synthetic":false,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl Debug for StatefulDiscordRpcSignalHandler","synthetic":false,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl Debug for DiscordError","synthetic":false,"types":["game_logic::discord::ipc::DiscordError"]},{"text":"impl Debug for GlobalResources","synthetic":false,"types":["game_logic::global_resource_package::GlobalResources"]},{"text":"impl Debug for PersistentGameSettings","synthetic":false,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl Debug for GameSaveState","synthetic":false,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl Debug for DiscordConstants","synthetic":false,"types":["game_logic::project_constants::DiscordConstants"]},{"text":"impl Debug for ProjectConstants","synthetic":false,"types":["game_logic::project_constants::ProjectConstants"]},{"text":"impl Debug for AnimatedTextureLoadError","synthetic":false,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError"]},{"text":"impl Debug for FrameTextureDescriptor","synthetic":false,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl Debug for AnimatedTextureMetadata","synthetic":false,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl Debug for AnimatedTexture","synthetic":false,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTexture"]},{"text":"impl Debug for SmFailureScreen","synthetic":false,"types":["game_logic::rendering::screens::sm_failure_screen::SmFailureScreen"]},{"text":"impl Debug for PreloadState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl Debug for LoadingState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl Debug for RenderGameState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl Debug for SmFailedState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl Debug for RenderBackendStates","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl Debug for PlayableScene","synthetic":false,"types":["game_logic::scenes::player_interaction::PlayableScene"]},{"text":"impl Debug for TestFoxScene","synthetic":false,"types":["game_logic::scenes::test_fox::TestFoxScene"]},{"text":"impl Debug for Player","synthetic":false,"types":["game_logic::model::player::Player"]}]; +implementors["game_logic"] = [{"text":"impl Debug for InternalJsonLoadError","synthetic":false,"types":["game_logic::asset_manager::json::InternalJsonLoadError"]},{"text":"impl Debug for KnownSpriteType","synthetic":false,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl Debug for ResourceLoadError","synthetic":false,"types":["game_logic::asset_manager::texture::ResourceLoadError"]},{"text":"impl Debug for DiscordRpcSignal","synthetic":false,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl Debug for StatefulDiscordRpcSignalHandler","synthetic":false,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl Debug for DiscordError","synthetic":false,"types":["game_logic::discord::ipc::DiscordError"]},{"text":"impl Debug for GlobalResources","synthetic":false,"types":["game_logic::global_resource_package::GlobalResources"]},{"text":"impl Debug for PersistentGameSettings","synthetic":false,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl Debug for GameSaveState","synthetic":false,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl Debug for DiscordConstants","synthetic":false,"types":["game_logic::project_constants::DiscordConstants"]},{"text":"impl Debug for ProjectConstants","synthetic":false,"types":["game_logic::project_constants::ProjectConstants"]},{"text":"impl Debug for AnimatedTextureLoadError","synthetic":false,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError"]},{"text":"impl Debug for FrameTextureDescriptor","synthetic":false,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl Debug for AnimatedTextureMetadata","synthetic":false,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl Debug for AnimatedTexture","synthetic":false,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTexture"]},{"text":"impl Debug for SmFailureScreen","synthetic":false,"types":["game_logic::rendering::screens::sm_failure_screen::SmFailureScreen"]},{"text":"impl Debug for PreloadState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl Debug for LoadingState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl Debug for RenderGameState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl Debug for SmFailedState","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl Debug for RenderBackendStates","synthetic":false,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl Debug for MenuStateSignal","synthetic":false,"types":["game_logic::scenes::main_menu::MenuStateSignal"]},{"text":"impl Debug for MainMenu","synthetic":false,"types":["game_logic::scenes::main_menu::MainMenu"]},{"text":"impl Debug for PlayableScene","synthetic":false,"types":["game_logic::scenes::player_interaction::PlayableScene"]},{"text":"impl Debug for TestFoxScene","synthetic":false,"types":["game_logic::scenes::test_fox::TestFoxScene"]},{"text":"impl Debug for Player","synthetic":false,"types":["game_logic::model::player::Player"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/core/marker/trait.Freeze.js b/rustdoc/implementors/core/marker/trait.Freeze.js index 48fb7aa0..e90681a8 100644 --- a/rustdoc/implementors/core/marker/trait.Freeze.js +++ b/rustdoc/implementors/core/marker/trait.Freeze.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["game_logic"] = [{"text":"impl Freeze for InternalData","synthetic":true,"types":["game_logic::asset_manager::datastore::InternalData"]},{"text":"impl Freeze for InternalJsonLoadError","synthetic":true,"types":["game_logic::asset_manager::json::InternalJsonLoadError"]},{"text":"impl Freeze for KnownSpriteType","synthetic":true,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl Freeze for ResourceLoadError","synthetic":true,"types":["game_logic::asset_manager::texture::ResourceLoadError"]},{"text":"impl Freeze for DiscordRpcSignal","synthetic":true,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl Freeze for StatefulDiscordRpcSignalHandler","synthetic":true,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl Freeze for DiscordError","synthetic":true,"types":["game_logic::discord::ipc::DiscordError"]},{"text":"impl !Freeze for DiscordRpcClient","synthetic":true,"types":["game_logic::discord::ipc::DiscordRpcClient"]},{"text":"impl !Freeze for DiscordRpcThreadHandle","synthetic":true,"types":["game_logic::discord::DiscordRpcThreadHandle"]},{"text":"impl Freeze for GlobalResources","synthetic":true,"types":["game_logic::global_resource_package::GlobalResources"]},{"text":"impl Freeze for PersistentGameSettings","synthetic":true,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl Freeze for GameSaveState","synthetic":true,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl Freeze for DiscordConstants","synthetic":true,"types":["game_logic::project_constants::DiscordConstants"]},{"text":"impl Freeze for ProjectConstants","synthetic":true,"types":["game_logic::project_constants::ProjectConstants"]},{"text":"impl Freeze for AnimatedTextureLoadError","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError"]},{"text":"impl Freeze for FrameTextureDescriptor","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl Freeze for AnimatedTextureMetadata","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl Freeze for AnimatedTexture","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTexture"]},{"text":"impl Freeze for LoadingScreen","synthetic":true,"types":["game_logic::rendering::screens::loading_screen::LoadingScreen"]},{"text":"impl Freeze for SmFailureScreen","synthetic":true,"types":["game_logic::rendering::screens::sm_failure_screen::SmFailureScreen"]},{"text":"impl Freeze for PreloadState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl Freeze for LoadingState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl Freeze for RenderGameState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl Freeze for SmFailedState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl Freeze for RenderBackendStates","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl Freeze for PlayableScene","synthetic":true,"types":["game_logic::scenes::player_interaction::PlayableScene"]},{"text":"impl Freeze for TestFoxScene","synthetic":true,"types":["game_logic::scenes::test_fox::TestFoxScene"]},{"text":"impl Freeze for SceneRenderDelegate","synthetic":true,"types":["game_logic::scenes::SceneRenderDelegate"]},{"text":"impl Freeze for Player","synthetic":true,"types":["game_logic::model::player::Player"]}]; +implementors["game_logic"] = [{"text":"impl Freeze for InternalData","synthetic":true,"types":["game_logic::asset_manager::datastore::InternalData"]},{"text":"impl Freeze for InternalJsonLoadError","synthetic":true,"types":["game_logic::asset_manager::json::InternalJsonLoadError"]},{"text":"impl Freeze for KnownSpriteType","synthetic":true,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl Freeze for ResourceLoadError","synthetic":true,"types":["game_logic::asset_manager::texture::ResourceLoadError"]},{"text":"impl Freeze for DiscordRpcSignal","synthetic":true,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl Freeze for StatefulDiscordRpcSignalHandler","synthetic":true,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl Freeze for DiscordError","synthetic":true,"types":["game_logic::discord::ipc::DiscordError"]},{"text":"impl !Freeze for DiscordRpcClient","synthetic":true,"types":["game_logic::discord::ipc::DiscordRpcClient"]},{"text":"impl !Freeze for DiscordRpcThreadHandle","synthetic":true,"types":["game_logic::discord::DiscordRpcThreadHandle"]},{"text":"impl Freeze for GlobalResources","synthetic":true,"types":["game_logic::global_resource_package::GlobalResources"]},{"text":"impl Freeze for PersistentGameSettings","synthetic":true,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl Freeze for GameSaveState","synthetic":true,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl Freeze for DiscordConstants","synthetic":true,"types":["game_logic::project_constants::DiscordConstants"]},{"text":"impl Freeze for ProjectConstants","synthetic":true,"types":["game_logic::project_constants::ProjectConstants"]},{"text":"impl Freeze for AnimatedTextureLoadError","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError"]},{"text":"impl Freeze for FrameTextureDescriptor","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl Freeze for AnimatedTextureMetadata","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl Freeze for AnimatedTexture","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTexture"]},{"text":"impl Freeze for LoadingScreen","synthetic":true,"types":["game_logic::rendering::screens::loading_screen::LoadingScreen"]},{"text":"impl Freeze for SmFailureScreen","synthetic":true,"types":["game_logic::rendering::screens::sm_failure_screen::SmFailureScreen"]},{"text":"impl Freeze for PreloadState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl Freeze for LoadingState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl Freeze for RenderGameState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl Freeze for SmFailedState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl Freeze for RenderBackendStates","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl Freeze for MenuStateSignal","synthetic":true,"types":["game_logic::scenes::main_menu::MenuStateSignal"]},{"text":"impl Freeze for MainMenu","synthetic":true,"types":["game_logic::scenes::main_menu::MainMenu"]},{"text":"impl Freeze for PlayableScene","synthetic":true,"types":["game_logic::scenes::player_interaction::PlayableScene"]},{"text":"impl Freeze for TestFoxScene","synthetic":true,"types":["game_logic::scenes::test_fox::TestFoxScene"]},{"text":"impl Freeze for SceneRenderDelegate","synthetic":true,"types":["game_logic::scenes::SceneRenderDelegate"]},{"text":"impl Freeze for Player","synthetic":true,"types":["game_logic::model::player::Player"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/core/marker/trait.Send.js b/rustdoc/implementors/core/marker/trait.Send.js index 5657b423..5d1ef116 100644 --- a/rustdoc/implementors/core/marker/trait.Send.js +++ b/rustdoc/implementors/core/marker/trait.Send.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["game_logic"] = [{"text":"impl Send for InternalData","synthetic":true,"types":["game_logic::asset_manager::datastore::InternalData"]},{"text":"impl Send for InternalJsonLoadError","synthetic":true,"types":["game_logic::asset_manager::json::InternalJsonLoadError"]},{"text":"impl Send for KnownSpriteType","synthetic":true,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl Send for ResourceLoadError","synthetic":true,"types":["game_logic::asset_manager::texture::ResourceLoadError"]},{"text":"impl Send for DiscordRpcSignal","synthetic":true,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl Send for StatefulDiscordRpcSignalHandler","synthetic":true,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl Send for DiscordError","synthetic":true,"types":["game_logic::discord::ipc::DiscordError"]},{"text":"impl Send for DiscordRpcClient","synthetic":true,"types":["game_logic::discord::ipc::DiscordRpcClient"]},{"text":"impl Send for DiscordRpcThreadHandle","synthetic":true,"types":["game_logic::discord::DiscordRpcThreadHandle"]},{"text":"impl Send for GlobalResources","synthetic":true,"types":["game_logic::global_resource_package::GlobalResources"]},{"text":"impl Send for PersistentGameSettings","synthetic":true,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl Send for GameSaveState","synthetic":true,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl Send for DiscordConstants","synthetic":true,"types":["game_logic::project_constants::DiscordConstants"]},{"text":"impl Send for ProjectConstants","synthetic":true,"types":["game_logic::project_constants::ProjectConstants"]},{"text":"impl Send for AnimatedTextureLoadError","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError"]},{"text":"impl Send for FrameTextureDescriptor","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl Send for AnimatedTextureMetadata","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl Send for AnimatedTexture","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTexture"]},{"text":"impl Send for LoadingScreen","synthetic":true,"types":["game_logic::rendering::screens::loading_screen::LoadingScreen"]},{"text":"impl Send for SmFailureScreen","synthetic":true,"types":["game_logic::rendering::screens::sm_failure_screen::SmFailureScreen"]},{"text":"impl Send for PreloadState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl Send for LoadingState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl Send for RenderGameState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl Send for SmFailedState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl Send for RenderBackendStates","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl Send for PlayableScene","synthetic":true,"types":["game_logic::scenes::player_interaction::PlayableScene"]},{"text":"impl Send for TestFoxScene","synthetic":true,"types":["game_logic::scenes::test_fox::TestFoxScene"]},{"text":"impl Send for SceneRenderDelegate","synthetic":true,"types":["game_logic::scenes::SceneRenderDelegate"]},{"text":"impl Send for Player","synthetic":true,"types":["game_logic::model::player::Player"]}]; +implementors["game_logic"] = [{"text":"impl Send for InternalData","synthetic":true,"types":["game_logic::asset_manager::datastore::InternalData"]},{"text":"impl Send for InternalJsonLoadError","synthetic":true,"types":["game_logic::asset_manager::json::InternalJsonLoadError"]},{"text":"impl Send for KnownSpriteType","synthetic":true,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl Send for ResourceLoadError","synthetic":true,"types":["game_logic::asset_manager::texture::ResourceLoadError"]},{"text":"impl Send for DiscordRpcSignal","synthetic":true,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl Send for StatefulDiscordRpcSignalHandler","synthetic":true,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl Send for DiscordError","synthetic":true,"types":["game_logic::discord::ipc::DiscordError"]},{"text":"impl Send for DiscordRpcClient","synthetic":true,"types":["game_logic::discord::ipc::DiscordRpcClient"]},{"text":"impl Send for DiscordRpcThreadHandle","synthetic":true,"types":["game_logic::discord::DiscordRpcThreadHandle"]},{"text":"impl Send for GlobalResources","synthetic":true,"types":["game_logic::global_resource_package::GlobalResources"]},{"text":"impl Send for PersistentGameSettings","synthetic":true,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl Send for GameSaveState","synthetic":true,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl Send for DiscordConstants","synthetic":true,"types":["game_logic::project_constants::DiscordConstants"]},{"text":"impl Send for ProjectConstants","synthetic":true,"types":["game_logic::project_constants::ProjectConstants"]},{"text":"impl Send for AnimatedTextureLoadError","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError"]},{"text":"impl Send for FrameTextureDescriptor","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl Send for AnimatedTextureMetadata","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl Send for AnimatedTexture","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTexture"]},{"text":"impl Send for LoadingScreen","synthetic":true,"types":["game_logic::rendering::screens::loading_screen::LoadingScreen"]},{"text":"impl Send for SmFailureScreen","synthetic":true,"types":["game_logic::rendering::screens::sm_failure_screen::SmFailureScreen"]},{"text":"impl Send for PreloadState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl Send for LoadingState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl Send for RenderGameState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl Send for SmFailedState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl Send for RenderBackendStates","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl Send for MenuStateSignal","synthetic":true,"types":["game_logic::scenes::main_menu::MenuStateSignal"]},{"text":"impl Send for MainMenu","synthetic":true,"types":["game_logic::scenes::main_menu::MainMenu"]},{"text":"impl Send for PlayableScene","synthetic":true,"types":["game_logic::scenes::player_interaction::PlayableScene"]},{"text":"impl Send for TestFoxScene","synthetic":true,"types":["game_logic::scenes::test_fox::TestFoxScene"]},{"text":"impl Send for SceneRenderDelegate","synthetic":true,"types":["game_logic::scenes::SceneRenderDelegate"]},{"text":"impl Send for Player","synthetic":true,"types":["game_logic::model::player::Player"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/core/marker/trait.Sync.js b/rustdoc/implementors/core/marker/trait.Sync.js index bc125cc5..e02cd8c9 100644 --- a/rustdoc/implementors/core/marker/trait.Sync.js +++ b/rustdoc/implementors/core/marker/trait.Sync.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["game_logic"] = [{"text":"impl Sync for InternalData","synthetic":true,"types":["game_logic::asset_manager::datastore::InternalData"]},{"text":"impl Sync for InternalJsonLoadError","synthetic":true,"types":["game_logic::asset_manager::json::InternalJsonLoadError"]},{"text":"impl Sync for KnownSpriteType","synthetic":true,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl Sync for ResourceLoadError","synthetic":true,"types":["game_logic::asset_manager::texture::ResourceLoadError"]},{"text":"impl Sync for DiscordRpcSignal","synthetic":true,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl Sync for StatefulDiscordRpcSignalHandler","synthetic":true,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl Sync for DiscordError","synthetic":true,"types":["game_logic::discord::ipc::DiscordError"]},{"text":"impl Sync for DiscordRpcClient","synthetic":true,"types":["game_logic::discord::ipc::DiscordRpcClient"]},{"text":"impl Sync for DiscordRpcThreadHandle","synthetic":true,"types":["game_logic::discord::DiscordRpcThreadHandle"]},{"text":"impl Sync for GlobalResources","synthetic":true,"types":["game_logic::global_resource_package::GlobalResources"]},{"text":"impl Sync for PersistentGameSettings","synthetic":true,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl Sync for GameSaveState","synthetic":true,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl Sync for DiscordConstants","synthetic":true,"types":["game_logic::project_constants::DiscordConstants"]},{"text":"impl Sync for ProjectConstants","synthetic":true,"types":["game_logic::project_constants::ProjectConstants"]},{"text":"impl Sync for AnimatedTextureLoadError","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError"]},{"text":"impl Sync for FrameTextureDescriptor","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl Sync for AnimatedTextureMetadata","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl Sync for AnimatedTexture","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTexture"]},{"text":"impl Sync for LoadingScreen","synthetic":true,"types":["game_logic::rendering::screens::loading_screen::LoadingScreen"]},{"text":"impl Sync for SmFailureScreen","synthetic":true,"types":["game_logic::rendering::screens::sm_failure_screen::SmFailureScreen"]},{"text":"impl Sync for PreloadState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl Sync for LoadingState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl Sync for RenderGameState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl Sync for SmFailedState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl Sync for RenderBackendStates","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl Sync for PlayableScene","synthetic":true,"types":["game_logic::scenes::player_interaction::PlayableScene"]},{"text":"impl Sync for TestFoxScene","synthetic":true,"types":["game_logic::scenes::test_fox::TestFoxScene"]},{"text":"impl Sync for SceneRenderDelegate","synthetic":true,"types":["game_logic::scenes::SceneRenderDelegate"]},{"text":"impl Sync for Player","synthetic":true,"types":["game_logic::model::player::Player"]}]; +implementors["game_logic"] = [{"text":"impl Sync for InternalData","synthetic":true,"types":["game_logic::asset_manager::datastore::InternalData"]},{"text":"impl Sync for InternalJsonLoadError","synthetic":true,"types":["game_logic::asset_manager::json::InternalJsonLoadError"]},{"text":"impl Sync for KnownSpriteType","synthetic":true,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl Sync for ResourceLoadError","synthetic":true,"types":["game_logic::asset_manager::texture::ResourceLoadError"]},{"text":"impl Sync for DiscordRpcSignal","synthetic":true,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl Sync for StatefulDiscordRpcSignalHandler","synthetic":true,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl Sync for DiscordError","synthetic":true,"types":["game_logic::discord::ipc::DiscordError"]},{"text":"impl Sync for DiscordRpcClient","synthetic":true,"types":["game_logic::discord::ipc::DiscordRpcClient"]},{"text":"impl Sync for DiscordRpcThreadHandle","synthetic":true,"types":["game_logic::discord::DiscordRpcThreadHandle"]},{"text":"impl Sync for GlobalResources","synthetic":true,"types":["game_logic::global_resource_package::GlobalResources"]},{"text":"impl Sync for PersistentGameSettings","synthetic":true,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl Sync for GameSaveState","synthetic":true,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl Sync for DiscordConstants","synthetic":true,"types":["game_logic::project_constants::DiscordConstants"]},{"text":"impl Sync for ProjectConstants","synthetic":true,"types":["game_logic::project_constants::ProjectConstants"]},{"text":"impl Sync for AnimatedTextureLoadError","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError"]},{"text":"impl Sync for FrameTextureDescriptor","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl Sync for AnimatedTextureMetadata","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl Sync for AnimatedTexture","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTexture"]},{"text":"impl Sync for LoadingScreen","synthetic":true,"types":["game_logic::rendering::screens::loading_screen::LoadingScreen"]},{"text":"impl Sync for SmFailureScreen","synthetic":true,"types":["game_logic::rendering::screens::sm_failure_screen::SmFailureScreen"]},{"text":"impl Sync for PreloadState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl Sync for LoadingState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl Sync for RenderGameState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl Sync for SmFailedState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl Sync for RenderBackendStates","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl Sync for MenuStateSignal","synthetic":true,"types":["game_logic::scenes::main_menu::MenuStateSignal"]},{"text":"impl Sync for MainMenu","synthetic":true,"types":["game_logic::scenes::main_menu::MainMenu"]},{"text":"impl Sync for PlayableScene","synthetic":true,"types":["game_logic::scenes::player_interaction::PlayableScene"]},{"text":"impl Sync for TestFoxScene","synthetic":true,"types":["game_logic::scenes::test_fox::TestFoxScene"]},{"text":"impl Sync for SceneRenderDelegate","synthetic":true,"types":["game_logic::scenes::SceneRenderDelegate"]},{"text":"impl Sync for Player","synthetic":true,"types":["game_logic::model::player::Player"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/core/marker/trait.Unpin.js b/rustdoc/implementors/core/marker/trait.Unpin.js index 7471a3b2..7ef07bbb 100644 --- a/rustdoc/implementors/core/marker/trait.Unpin.js +++ b/rustdoc/implementors/core/marker/trait.Unpin.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["game_logic"] = [{"text":"impl Unpin for InternalData","synthetic":true,"types":["game_logic::asset_manager::datastore::InternalData"]},{"text":"impl Unpin for InternalJsonLoadError","synthetic":true,"types":["game_logic::asset_manager::json::InternalJsonLoadError"]},{"text":"impl Unpin for KnownSpriteType","synthetic":true,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl Unpin for ResourceLoadError","synthetic":true,"types":["game_logic::asset_manager::texture::ResourceLoadError"]},{"text":"impl Unpin for DiscordRpcSignal","synthetic":true,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl Unpin for StatefulDiscordRpcSignalHandler","synthetic":true,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl Unpin for DiscordError","synthetic":true,"types":["game_logic::discord::ipc::DiscordError"]},{"text":"impl Unpin for DiscordRpcClient","synthetic":true,"types":["game_logic::discord::ipc::DiscordRpcClient"]},{"text":"impl Unpin for DiscordRpcThreadHandle","synthetic":true,"types":["game_logic::discord::DiscordRpcThreadHandle"]},{"text":"impl Unpin for GlobalResources","synthetic":true,"types":["game_logic::global_resource_package::GlobalResources"]},{"text":"impl Unpin for PersistentGameSettings","synthetic":true,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl Unpin for GameSaveState","synthetic":true,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl Unpin for DiscordConstants","synthetic":true,"types":["game_logic::project_constants::DiscordConstants"]},{"text":"impl Unpin for ProjectConstants","synthetic":true,"types":["game_logic::project_constants::ProjectConstants"]},{"text":"impl Unpin for AnimatedTextureLoadError","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError"]},{"text":"impl Unpin for FrameTextureDescriptor","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl Unpin for AnimatedTextureMetadata","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl Unpin for AnimatedTexture","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTexture"]},{"text":"impl Unpin for LoadingScreen","synthetic":true,"types":["game_logic::rendering::screens::loading_screen::LoadingScreen"]},{"text":"impl Unpin for SmFailureScreen","synthetic":true,"types":["game_logic::rendering::screens::sm_failure_screen::SmFailureScreen"]},{"text":"impl Unpin for PreloadState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl Unpin for LoadingState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl Unpin for RenderGameState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl Unpin for SmFailedState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl Unpin for RenderBackendStates","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl Unpin for PlayableScene","synthetic":true,"types":["game_logic::scenes::player_interaction::PlayableScene"]},{"text":"impl Unpin for TestFoxScene","synthetic":true,"types":["game_logic::scenes::test_fox::TestFoxScene"]},{"text":"impl Unpin for SceneRenderDelegate","synthetic":true,"types":["game_logic::scenes::SceneRenderDelegate"]},{"text":"impl Unpin for Player","synthetic":true,"types":["game_logic::model::player::Player"]}]; +implementors["game_logic"] = [{"text":"impl Unpin for InternalData","synthetic":true,"types":["game_logic::asset_manager::datastore::InternalData"]},{"text":"impl Unpin for InternalJsonLoadError","synthetic":true,"types":["game_logic::asset_manager::json::InternalJsonLoadError"]},{"text":"impl Unpin for KnownSpriteType","synthetic":true,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl Unpin for ResourceLoadError","synthetic":true,"types":["game_logic::asset_manager::texture::ResourceLoadError"]},{"text":"impl Unpin for DiscordRpcSignal","synthetic":true,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl Unpin for StatefulDiscordRpcSignalHandler","synthetic":true,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl Unpin for DiscordError","synthetic":true,"types":["game_logic::discord::ipc::DiscordError"]},{"text":"impl Unpin for DiscordRpcClient","synthetic":true,"types":["game_logic::discord::ipc::DiscordRpcClient"]},{"text":"impl Unpin for DiscordRpcThreadHandle","synthetic":true,"types":["game_logic::discord::DiscordRpcThreadHandle"]},{"text":"impl Unpin for GlobalResources","synthetic":true,"types":["game_logic::global_resource_package::GlobalResources"]},{"text":"impl Unpin for PersistentGameSettings","synthetic":true,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl Unpin for GameSaveState","synthetic":true,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl Unpin for DiscordConstants","synthetic":true,"types":["game_logic::project_constants::DiscordConstants"]},{"text":"impl Unpin for ProjectConstants","synthetic":true,"types":["game_logic::project_constants::ProjectConstants"]},{"text":"impl Unpin for AnimatedTextureLoadError","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError"]},{"text":"impl Unpin for FrameTextureDescriptor","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl Unpin for AnimatedTextureMetadata","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl Unpin for AnimatedTexture","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTexture"]},{"text":"impl Unpin for LoadingScreen","synthetic":true,"types":["game_logic::rendering::screens::loading_screen::LoadingScreen"]},{"text":"impl Unpin for SmFailureScreen","synthetic":true,"types":["game_logic::rendering::screens::sm_failure_screen::SmFailureScreen"]},{"text":"impl Unpin for PreloadState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl Unpin for LoadingState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl Unpin for RenderGameState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl Unpin for SmFailedState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl Unpin for RenderBackendStates","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl Unpin for MenuStateSignal","synthetic":true,"types":["game_logic::scenes::main_menu::MenuStateSignal"]},{"text":"impl Unpin for MainMenu","synthetic":true,"types":["game_logic::scenes::main_menu::MainMenu"]},{"text":"impl Unpin for PlayableScene","synthetic":true,"types":["game_logic::scenes::player_interaction::PlayableScene"]},{"text":"impl Unpin for TestFoxScene","synthetic":true,"types":["game_logic::scenes::test_fox::TestFoxScene"]},{"text":"impl Unpin for SceneRenderDelegate","synthetic":true,"types":["game_logic::scenes::SceneRenderDelegate"]},{"text":"impl Unpin for Player","synthetic":true,"types":["game_logic::model::player::Player"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index 33e512d6..281824f1 100644 --- a/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["game_logic"] = [{"text":"impl RefUnwindSafe for InternalData","synthetic":true,"types":["game_logic::asset_manager::datastore::InternalData"]},{"text":"impl !RefUnwindSafe for InternalJsonLoadError","synthetic":true,"types":["game_logic::asset_manager::json::InternalJsonLoadError"]},{"text":"impl RefUnwindSafe for KnownSpriteType","synthetic":true,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl !RefUnwindSafe for ResourceLoadError","synthetic":true,"types":["game_logic::asset_manager::texture::ResourceLoadError"]},{"text":"impl RefUnwindSafe for DiscordRpcSignal","synthetic":true,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl RefUnwindSafe for StatefulDiscordRpcSignalHandler","synthetic":true,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl !RefUnwindSafe for DiscordError","synthetic":true,"types":["game_logic::discord::ipc::DiscordError"]},{"text":"impl !RefUnwindSafe for DiscordRpcClient","synthetic":true,"types":["game_logic::discord::ipc::DiscordRpcClient"]},{"text":"impl !RefUnwindSafe for DiscordRpcThreadHandle","synthetic":true,"types":["game_logic::discord::DiscordRpcThreadHandle"]},{"text":"impl RefUnwindSafe for GlobalResources","synthetic":true,"types":["game_logic::global_resource_package::GlobalResources"]},{"text":"impl RefUnwindSafe for PersistentGameSettings","synthetic":true,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl RefUnwindSafe for GameSaveState","synthetic":true,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl RefUnwindSafe for DiscordConstants","synthetic":true,"types":["game_logic::project_constants::DiscordConstants"]},{"text":"impl RefUnwindSafe for ProjectConstants","synthetic":true,"types":["game_logic::project_constants::ProjectConstants"]},{"text":"impl !RefUnwindSafe for AnimatedTextureLoadError","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError"]},{"text":"impl RefUnwindSafe for FrameTextureDescriptor","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl RefUnwindSafe for AnimatedTextureMetadata","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl RefUnwindSafe for AnimatedTexture","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTexture"]},{"text":"impl RefUnwindSafe for LoadingScreen","synthetic":true,"types":["game_logic::rendering::screens::loading_screen::LoadingScreen"]},{"text":"impl RefUnwindSafe for SmFailureScreen","synthetic":true,"types":["game_logic::rendering::screens::sm_failure_screen::SmFailureScreen"]},{"text":"impl RefUnwindSafe for PreloadState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl RefUnwindSafe for LoadingState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl RefUnwindSafe for RenderGameState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl RefUnwindSafe for SmFailedState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl RefUnwindSafe for RenderBackendStates","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl RefUnwindSafe for PlayableScene","synthetic":true,"types":["game_logic::scenes::player_interaction::PlayableScene"]},{"text":"impl RefUnwindSafe for TestFoxScene","synthetic":true,"types":["game_logic::scenes::test_fox::TestFoxScene"]},{"text":"impl RefUnwindSafe for SceneRenderDelegate","synthetic":true,"types":["game_logic::scenes::SceneRenderDelegate"]},{"text":"impl RefUnwindSafe for Player","synthetic":true,"types":["game_logic::model::player::Player"]}]; +implementors["game_logic"] = [{"text":"impl RefUnwindSafe for InternalData","synthetic":true,"types":["game_logic::asset_manager::datastore::InternalData"]},{"text":"impl !RefUnwindSafe for InternalJsonLoadError","synthetic":true,"types":["game_logic::asset_manager::json::InternalJsonLoadError"]},{"text":"impl RefUnwindSafe for KnownSpriteType","synthetic":true,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl !RefUnwindSafe for ResourceLoadError","synthetic":true,"types":["game_logic::asset_manager::texture::ResourceLoadError"]},{"text":"impl RefUnwindSafe for DiscordRpcSignal","synthetic":true,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl RefUnwindSafe for StatefulDiscordRpcSignalHandler","synthetic":true,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl !RefUnwindSafe for DiscordError","synthetic":true,"types":["game_logic::discord::ipc::DiscordError"]},{"text":"impl !RefUnwindSafe for DiscordRpcClient","synthetic":true,"types":["game_logic::discord::ipc::DiscordRpcClient"]},{"text":"impl !RefUnwindSafe for DiscordRpcThreadHandle","synthetic":true,"types":["game_logic::discord::DiscordRpcThreadHandle"]},{"text":"impl RefUnwindSafe for GlobalResources","synthetic":true,"types":["game_logic::global_resource_package::GlobalResources"]},{"text":"impl RefUnwindSafe for PersistentGameSettings","synthetic":true,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl RefUnwindSafe for GameSaveState","synthetic":true,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl RefUnwindSafe for DiscordConstants","synthetic":true,"types":["game_logic::project_constants::DiscordConstants"]},{"text":"impl RefUnwindSafe for ProjectConstants","synthetic":true,"types":["game_logic::project_constants::ProjectConstants"]},{"text":"impl !RefUnwindSafe for AnimatedTextureLoadError","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError"]},{"text":"impl RefUnwindSafe for FrameTextureDescriptor","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl RefUnwindSafe for AnimatedTextureMetadata","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl RefUnwindSafe for AnimatedTexture","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTexture"]},{"text":"impl RefUnwindSafe for LoadingScreen","synthetic":true,"types":["game_logic::rendering::screens::loading_screen::LoadingScreen"]},{"text":"impl RefUnwindSafe for SmFailureScreen","synthetic":true,"types":["game_logic::rendering::screens::sm_failure_screen::SmFailureScreen"]},{"text":"impl RefUnwindSafe for PreloadState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl RefUnwindSafe for LoadingState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl RefUnwindSafe for RenderGameState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl RefUnwindSafe for SmFailedState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl RefUnwindSafe for RenderBackendStates","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl RefUnwindSafe for MenuStateSignal","synthetic":true,"types":["game_logic::scenes::main_menu::MenuStateSignal"]},{"text":"impl RefUnwindSafe for MainMenu","synthetic":true,"types":["game_logic::scenes::main_menu::MainMenu"]},{"text":"impl RefUnwindSafe for PlayableScene","synthetic":true,"types":["game_logic::scenes::player_interaction::PlayableScene"]},{"text":"impl RefUnwindSafe for TestFoxScene","synthetic":true,"types":["game_logic::scenes::test_fox::TestFoxScene"]},{"text":"impl RefUnwindSafe for SceneRenderDelegate","synthetic":true,"types":["game_logic::scenes::SceneRenderDelegate"]},{"text":"impl RefUnwindSafe for Player","synthetic":true,"types":["game_logic::model::player::Player"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index e9c952fa..228a209a 100644 --- a/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["game_logic"] = [{"text":"impl UnwindSafe for InternalData","synthetic":true,"types":["game_logic::asset_manager::datastore::InternalData"]},{"text":"impl !UnwindSafe for InternalJsonLoadError","synthetic":true,"types":["game_logic::asset_manager::json::InternalJsonLoadError"]},{"text":"impl UnwindSafe for KnownSpriteType","synthetic":true,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl !UnwindSafe for ResourceLoadError","synthetic":true,"types":["game_logic::asset_manager::texture::ResourceLoadError"]},{"text":"impl UnwindSafe for DiscordRpcSignal","synthetic":true,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl UnwindSafe for StatefulDiscordRpcSignalHandler","synthetic":true,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl !UnwindSafe for DiscordError","synthetic":true,"types":["game_logic::discord::ipc::DiscordError"]},{"text":"impl !UnwindSafe for DiscordRpcClient","synthetic":true,"types":["game_logic::discord::ipc::DiscordRpcClient"]},{"text":"impl !UnwindSafe for DiscordRpcThreadHandle","synthetic":true,"types":["game_logic::discord::DiscordRpcThreadHandle"]},{"text":"impl UnwindSafe for GlobalResources","synthetic":true,"types":["game_logic::global_resource_package::GlobalResources"]},{"text":"impl UnwindSafe for PersistentGameSettings","synthetic":true,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl UnwindSafe for GameSaveState","synthetic":true,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl UnwindSafe for DiscordConstants","synthetic":true,"types":["game_logic::project_constants::DiscordConstants"]},{"text":"impl UnwindSafe for ProjectConstants","synthetic":true,"types":["game_logic::project_constants::ProjectConstants"]},{"text":"impl !UnwindSafe for AnimatedTextureLoadError","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError"]},{"text":"impl UnwindSafe for FrameTextureDescriptor","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl UnwindSafe for AnimatedTextureMetadata","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl UnwindSafe for AnimatedTexture","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTexture"]},{"text":"impl UnwindSafe for LoadingScreen","synthetic":true,"types":["game_logic::rendering::screens::loading_screen::LoadingScreen"]},{"text":"impl UnwindSafe for SmFailureScreen","synthetic":true,"types":["game_logic::rendering::screens::sm_failure_screen::SmFailureScreen"]},{"text":"impl UnwindSafe for PreloadState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl UnwindSafe for LoadingState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl UnwindSafe for RenderGameState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl UnwindSafe for SmFailedState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl UnwindSafe for RenderBackendStates","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl UnwindSafe for PlayableScene","synthetic":true,"types":["game_logic::scenes::player_interaction::PlayableScene"]},{"text":"impl UnwindSafe for TestFoxScene","synthetic":true,"types":["game_logic::scenes::test_fox::TestFoxScene"]},{"text":"impl UnwindSafe for SceneRenderDelegate","synthetic":true,"types":["game_logic::scenes::SceneRenderDelegate"]},{"text":"impl UnwindSafe for Player","synthetic":true,"types":["game_logic::model::player::Player"]}]; +implementors["game_logic"] = [{"text":"impl UnwindSafe for InternalData","synthetic":true,"types":["game_logic::asset_manager::datastore::InternalData"]},{"text":"impl !UnwindSafe for InternalJsonLoadError","synthetic":true,"types":["game_logic::asset_manager::json::InternalJsonLoadError"]},{"text":"impl UnwindSafe for KnownSpriteType","synthetic":true,"types":["game_logic::asset_manager::sprite_types::KnownSpriteType"]},{"text":"impl !UnwindSafe for ResourceLoadError","synthetic":true,"types":["game_logic::asset_manager::texture::ResourceLoadError"]},{"text":"impl UnwindSafe for DiscordRpcSignal","synthetic":true,"types":["game_logic::discord::signal::DiscordRpcSignal"]},{"text":"impl UnwindSafe for StatefulDiscordRpcSignalHandler","synthetic":true,"types":["game_logic::discord::signal::StatefulDiscordRpcSignalHandler"]},{"text":"impl !UnwindSafe for DiscordError","synthetic":true,"types":["game_logic::discord::ipc::DiscordError"]},{"text":"impl !UnwindSafe for DiscordRpcClient","synthetic":true,"types":["game_logic::discord::ipc::DiscordRpcClient"]},{"text":"impl !UnwindSafe for DiscordRpcThreadHandle","synthetic":true,"types":["game_logic::discord::DiscordRpcThreadHandle"]},{"text":"impl UnwindSafe for GlobalResources","synthetic":true,"types":["game_logic::global_resource_package::GlobalResources"]},{"text":"impl UnwindSafe for PersistentGameSettings","synthetic":true,"types":["game_logic::persistent::settings::PersistentGameSettings"]},{"text":"impl UnwindSafe for GameSaveState","synthetic":true,"types":["game_logic::persistent::save_state::GameSaveState"]},{"text":"impl UnwindSafe for DiscordConstants","synthetic":true,"types":["game_logic::project_constants::DiscordConstants"]},{"text":"impl UnwindSafe for ProjectConstants","synthetic":true,"types":["game_logic::project_constants::ProjectConstants"]},{"text":"impl !UnwindSafe for AnimatedTextureLoadError","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError"]},{"text":"impl UnwindSafe for FrameTextureDescriptor","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::FrameTextureDescriptor"]},{"text":"impl UnwindSafe for AnimatedTextureMetadata","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTextureMetadata"]},{"text":"impl UnwindSafe for AnimatedTexture","synthetic":true,"types":["game_logic::rendering::utilities::anim_texture::AnimatedTexture"]},{"text":"impl UnwindSafe for LoadingScreen","synthetic":true,"types":["game_logic::rendering::screens::loading_screen::LoadingScreen"]},{"text":"impl UnwindSafe for SmFailureScreen","synthetic":true,"types":["game_logic::rendering::screens::sm_failure_screen::SmFailureScreen"]},{"text":"impl UnwindSafe for PreloadState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::PreloadState"]},{"text":"impl UnwindSafe for LoadingState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::LoadingState"]},{"text":"impl UnwindSafe for RenderGameState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderGameState"]},{"text":"impl UnwindSafe for SmFailedState","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::SmFailedState"]},{"text":"impl UnwindSafe for RenderBackendStates","synthetic":true,"types":["game_logic::rendering::core_renderer_sm::RenderBackendStates"]},{"text":"impl UnwindSafe for MenuStateSignal","synthetic":true,"types":["game_logic::scenes::main_menu::MenuStateSignal"]},{"text":"impl UnwindSafe for MainMenu","synthetic":true,"types":["game_logic::scenes::main_menu::MainMenu"]},{"text":"impl UnwindSafe for PlayableScene","synthetic":true,"types":["game_logic::scenes::player_interaction::PlayableScene"]},{"text":"impl UnwindSafe for TestFoxScene","synthetic":true,"types":["game_logic::scenes::test_fox::TestFoxScene"]},{"text":"impl UnwindSafe for SceneRenderDelegate","synthetic":true,"types":["game_logic::scenes::SceneRenderDelegate"]},{"text":"impl UnwindSafe for Player","synthetic":true,"types":["game_logic::model::player::Player"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/search-index.js b/rustdoc/search-index.js index 65ddc774..a6405423 100644 --- a/rustdoc/search-index.js +++ b/rustdoc/search-index.js @@ -1,4 +1,4 @@ var searchIndex = JSON.parse('{\ -"game_logic":{"doc":"This file is the main entry point for the game logic.","t":[0,0,5,0,0,0,0,0,0,0,0,0,0,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,4,13,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,12,12,3,11,11,11,11,11,11,12,11,11,11,11,5,12,11,11,11,11,11,11,13,13,13,4,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,12,12,12,17,6,3,11,11,11,11,11,11,12,11,0,11,11,12,0,12,11,11,11,11,12,11,13,13,13,4,3,13,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,13,13,13,13,4,13,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,3,11,11,11,11,11,11,11,11,11,11,11,11,11,0,3,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,0,0,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,12,12,12,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,0,0,0,0,13,13,13,13,13,13,4,13,4,4,13,4,13,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,5,0,0,3,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,3,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,0,3,4,3,3,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,3,11,11,11,11,11,11,11,11,0,11,12,12,0,11,11,11,11,11,3,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11],"n":["asset_manager","discord","entrypoint","global_resource_package","model","persistent","project_constants","rendering","scenes","datastore","json","sprite_types","texture","InternalData","borrow","borrow_mut","from","from_subset","get","get","into","is_in_subset","iter","iter","to_subset","to_subset_unchecked","try_from","try_into","type_id","AssetNotFound","InternalJsonLoadError","JsonError","borrow","borrow_mut","fmt","fmt","from","from","from_subset","into","is_in_subset","load_json_structure","source","to_string","to_subset","to_subset_unchecked","try_from","try_into","type_id","0","0","KnownSpriteType","borrow","borrow_mut","clone","clone_into","deserialize","fmt","friendly_name","from","from_subset","into","is_in_subset","load_known_sprite_types","short_name","to_owned","to_subset","to_subset_unchecked","try_from","try_into","type_id","AssetNotFound","Generic","Io","ResourceLoadError","borrow","borrow_mut","fmt","fmt","from","from","from_subset","into","is_in_subset","load_texture_from_internal_data","source","to_string","to_subset","to_subset_unchecked","try_from","try_into","type_id","0","0","0","DISCORD_CONNECT_TIMEOUT_SECONDS","DiscordChannel","DiscordRpcThreadHandle","begin_thread_non_blocking","borrow","borrow_mut","from","from_subset","get_channel","internal_client","into","ipc","is_in_subset","new","rx_chan","signal","state","to_subset","to_subset_unchecked","try_from","try_into","tx_chan","type_id","AwaitConnection","Connection","ConnectionTimeout","DiscordError","DiscordRpcClient","Sdk","borrow","borrow","borrow_mut","borrow_mut","clear_rich_presence","discord","fmt","fmt","from","from","from","from","from","from_subset","from_subset","into","into","is_in_subset","is_in_subset","new","set_rich_presence","source","to_string","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","user","wheel","0","0","0","BeginGameTimer","ChangeAssets","ChangeDetails","ClearGameTimeRemaining","DiscordRpcSignal","EndGameTimer","SetGameTimeRemainingTimestamp","StatefulDiscordRpcSignalHandler","apply","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","fmt","fmt","from","from","from_subset","from_subset","game_assets","game_details","game_end_timer","game_party_status","game_start_timer","into","into","is_in_subset","is_in_subset","to_owned","to_owned","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","0","0","details","party_status","GlobalResources","borrow","borrow_mut","fmt","from","from_subset","into","is_in_subset","load","to_subset","to_subset_unchecked","try_from","try_into","type_id","player","Player","borrow","borrow_mut","clone","clone_into","fmt","from","from_subset","into","is_in_subset","new","position","to_owned","to_subset","to_subset_unchecked","try_from","try_into","type_id","velocity","save_state","settings","GameSaveState","borrow","borrow_mut","clone","clone_into","default","deserialize","fmt","from","from_subset","get_save_location","into","is_in_subset","load_or_create","save","serialize","to_owned","to_subset","to_subset_unchecked","try_from","try_into","type_id","PersistentGameSettings","borrow","borrow_mut","clone","clone_into","default","deserialize","fmt","from","from_subset","get_save_location","into","is_in_subset","load_or_create","save","serialize","to_owned","to_subset","to_subset_unchecked","try_from","try_into","type_id","DiscordConstants","ProjectConstants","app_id","artwork","base_window_size","borrow","borrow","borrow_mut","borrow_mut","deserialize","deserialize","discord","fmt","fmt","from","from","from_subset","from_subset","game_name","into","into","is_in_subset","is_in_subset","strings","target_fps","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","core_renderer_sm","event_loop","screens","utilities","FromFinishLoading","FromFinishPreload","FromForceSmFailure","FromInit","FromInit","Loading","LoadingState","Preload","PreloadState","RenderBackendStates","RenderGame","RenderGameState","SmFailed","SmFailedState","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","eq","eq","eq","eq","eq","finish_loading","finish_preload","fmt","fmt","fmt","fmt","fmt","force_sm_failure","force_sm_failure","force_sm_failure","from","from","from","from","from","from_subset","from_subset","from_subset","from_subset","from_subset","into","into","into","into","into","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","ne","preload","sm_failed","to_owned","to_owned","to_owned","to_owned","to_owned","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","0","0","0","0","handle_graphics_blocking","loading_screen","sm_failure_screen","LoadingScreen","borrow","borrow_mut","from","from_subset","has_updated_discord_status","into","is_in_subset","new","render","resources","to_subset","to_subset_unchecked","try_from","try_into","type_id","SmFailureScreen","borrow","borrow_mut","fmt","from","from_subset","has_updated_discord_status","into","is_in_subset","new","render","to_subset","to_subset_unchecked","try_from","try_into","type_id","anim_texture","AnimatedTexture","AnimatedTextureLoadError","AnimatedTextureMetadata","FrameTextureDescriptor","InvalidSpriteType","KnownSpriteTypesLoadError","MetadataLoadError","TextureLoadError","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","fmt","fmt","fmt","fps","frames","from","from","from","from","from","from","from","from_subset","from_subset","from_subset","from_subset","get_current_frame_index","height","into","into","into","into","into","is_in_subset","is_in_subset","is_in_subset","is_in_subset","new","render_automatic","render_frame_by_index","reset_animation","sheet_height","sheet_width","source","start_time","texture","texture_metadata","texture_source_rects","to_owned","to_owned","to_string","to_subset","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","width","x","y","0","0","0","0","SceneRenderDelegate","borrow","borrow_mut","drop","from","from_subset","into","is_in_subset","on_game_start","player_interaction","process_ingame_frame","scene_playable","scene_test_fox","test_fox","to_subset","to_subset_unchecked","try_from","try_into","type_id","PlayableScene","borrow","borrow_mut","fmt","from","from_subset","has_updated_discord_rpc","into","is_in_subset","new","player","render_frame","to_subset","to_subset_unchecked","try_from","try_into","type_id","TestFoxScene","borrow","borrow_mut","fmt","fox_animation","from","from_subset","into","is_in_subset","new","render_frame","to_subset","to_subset_unchecked","try_from","try_into","type_id"],"q":["game_logic","","","","","","","","","game_logic::asset_manager","","","","game_logic::asset_manager::datastore","","","","","","","","","","","","","","","","game_logic::asset_manager::json","","","","","","","","","","","","","","","","","","","","game_logic::asset_manager::json::InternalJsonLoadError","","game_logic::asset_manager::sprite_types","","","","","","","","","","","","","","","","","","","","game_logic::asset_manager::texture","","","","","","","","","","","","","","","","","","","","","game_logic::asset_manager::texture::ResourceLoadError","","","game_logic::discord","","","","","","","","","","","","","","","","","","","","","","","game_logic::discord::ipc","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game_logic::discord::ipc::DiscordError","","","game_logic::discord::signal","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game_logic::discord::signal::DiscordRpcSignal","","","","game_logic::global_resource_package","","","","","","","","","","","","","","game_logic::model","game_logic::model::player","","","","","","","","","","","","","","","","","","","game_logic::persistent","","game_logic::persistent::save_state","","","","","","","","","","","","","","","","","","","","","","game_logic::persistent::settings","","","","","","","","","","","","","","","","","","","","","","game_logic::project_constants","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game_logic::rendering","","","","game_logic::rendering::core_renderer_sm","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game_logic::rendering::core_renderer_sm::RenderBackendStates","","","","game_logic::rendering::event_loop","game_logic::rendering::screens","","game_logic::rendering::screens::loading_screen","","","","","","","","","","","","","","","","game_logic::rendering::screens::sm_failure_screen","","","","","","","","","","","","","","","","game_logic::rendering::utilities","game_logic::rendering::utilities::anim_texture","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError","","","","game_logic::scenes","","","","","","","","","","","","","","","","","","","game_logic::scenes::player_interaction","","","","","","","","","","","","","","","","","game_logic::scenes::test_fox","","","","","","","","","","","","","","",""],"d":["Embedded asset management.","Interfacing with Discord","This is the game logic entrypoint. Despite being async, …","Global resources","","This module contains the datastructure backing persistent …","The rust side of the dist/project-constants.json file","This module contains lower level rendering logic.","The render code for various scenes","Access to the game’s embedded files.","Utilities for loading JSON from the embedded filesystem.","","Code for loading textures from RAM to VRAM","This structure is dynamically packed with the contents of …","","","","","","Get an embedded file and its metadata.","","","Iterates over the file paths in the folder.","","","","","","","The JSON data was not found in the internal data store","Possible errors generated when deserializing JSON data …","An error occurred with the JSON data itself","","","","","","","","","","Load an embedded JSON file","","","","","","","","","","The structure backing the dist/known-sprite-types.json file","","","","","","","Sprite long name","","","","","Loads a list of all known sprite types from the …","Sprite short name (used in filenames)","","","","","","","","","","","","","","","","","","","","Loads an embedded texture into VRAM.","","","","","","","","","","","How long to wait before we give up on connecting to …","A cross-thread communication channel for sending Discord …","","Run the inner communication task in an async context","","","","","Get access to the inter-thread channel for communicating …","","","Discord Rich Presence utilities","","Construct a new DiscordRpcThreadHandle","","This file contains a system for signaling Discord RPC …","","","","","","","","","","","","The client wrapper for Discord RPC","","","","","","Clears the user rich presence","","","","","","","","","","","","","","","Creates a new DiscordRpcClient","Sets the user rich presence","","","","","","","","","","","","","","","","","","Signal to begin a game timer (Discord will display …","Signal to change the graphical assets in the info card","Signal to set the details in the info card","Signal to clear the game remaining timer","Definitions of signals that can be sent to the Discord RPC …","Signal to end a game timer","Signal to begin a countdown timer (Discord will display …","A struct that can keep track of incoming signals and their …","Apply a signal to generate a new activity","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","What the player is doing, eg. “Exploring the Wilds of …","The user’s currenty party status, eg. “Playing Solo”.","Global resource package","","","","","","","","Load the resources (blocking)","","","","","","","","","","","","","","","","","Construct a new player.","","","","","","","","","","","Game save state.","","","","","","","","","","Returns the optimal path for storing settings data.","","","Loads the savestate from disk.","Saves the savestate to disk.","","","","","","","","Settings for the game.","","","","","","","","","","Returns the optimal path for storing settings data.","","","Loads the settings from disk.","Saves the settings to disk.","","","","","","","","Constants relating to Discord","This structure is filled with the contents of …","The Discord application ID","Artwork name mapping","The window size to use on launch","","","","","","","The Discord constants","","","","","","","The name of the game","","","","","Strings","The target framerate of the game","","","","","","","","","","","This module contains state machine definitions for the …","The Event Loop module","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Will begin rendering graphics. Returns when the window …","Handles loading the global resources and playing an intro …","","","","","","","","","","Construct a new LoadingScreen","","","","","","","","","","","","","","","","","Construct a new SmFailureScreen","","","","","","","This module handles the code for rendering …","","Possible errors to be thrown during the animation texture …","Definition for the metadata structure attached to each …","Definition for the structure describing a frame’s size …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Get the current frame index","","","","","","","","","","","Construct a new AnimatedTexture","Render the animation based on timestamp","Render a single frame to the screen","Clear the internal tracker for when the animation started","","","","The animation start timestamp","The whole internal spritesheet","The metadata describing the spritesheet","a list of source rects to reduce memory allocation needs …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Delegate for handling rendering. This is a struct to allow …","","","If you need anything to happen when the game closes, stick …","","","","","This is called when the game first loads","This scene encompasses all of the game where the player …","This is called every frame once the game has started.","","","This “scene” is used only for testing animation and …","","","","","","","","","","","","","","","Construct a new PlayableScene","","Handler for each frame","","","","","","","","","","","","","","","Construct a new TestFoxScene","Handler for each frame","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,3,4,0,5,5,5,5,5,5,5,5,5,5,5,0,5,5,5,5,5,5,5,6,6,6,0,6,6,6,6,6,6,6,6,6,0,6,6,6,6,6,6,6,7,8,9,0,0,0,10,10,10,10,10,10,10,10,0,10,10,10,0,10,10,10,10,10,10,10,11,11,11,0,0,11,12,11,12,11,12,12,11,11,12,11,11,11,11,12,11,12,11,12,11,12,12,11,11,12,11,12,11,12,11,12,11,12,11,12,12,13,14,15,16,16,16,16,0,16,16,0,17,16,17,16,17,16,17,16,17,17,16,17,16,17,16,17,17,17,17,17,17,16,17,16,17,16,17,16,17,16,17,16,17,16,17,16,17,18,19,20,20,0,21,21,21,21,21,21,21,21,21,21,21,21,21,0,0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,0,0,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,0,0,25,25,26,25,26,25,26,25,26,26,25,26,25,26,25,26,26,25,26,25,26,25,26,25,26,25,26,25,26,25,26,25,26,0,0,0,0,27,28,29,30,29,31,0,31,0,0,31,0,31,0,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,28,30,30,28,27,29,31,30,28,27,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,31,31,31,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,32,33,34,35,0,0,0,0,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,0,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,0,0,0,0,0,38,38,38,38,38,39,40,41,38,39,40,41,39,40,39,40,39,40,38,38,39,40,41,40,40,38,38,38,38,39,40,41,38,39,40,41,41,39,38,39,39,40,41,38,39,40,41,41,41,41,41,40,40,38,41,41,41,41,39,40,38,38,39,40,41,38,39,40,41,38,39,40,41,38,39,40,41,38,39,40,41,39,39,39,42,43,44,45,0,46,46,46,46,46,46,46,46,0,46,46,46,0,46,46,46,46,46,0,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48],"f":[null,null,[[["bool",15]]],null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[["str",15]],["option",4,[["embeddedfile",3]]]],[[["str",15]],["option",4,[["embeddedfile",3]]]],[[]],[[],["bool",15]],[[]],[[],["filenames",4]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,[[]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["error",3]]],[[]],[[]],[[]],[[],["bool",15]],[[["str",15]],["result",4,[["deserializeowned",8],["internaljsonloaderror",4]]]],[[],["option",4,[["error",8]]]],[[],["string",3]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,[[]],[[]],[[],["knownspritetype",3]],[[]],[[],["result",4]],[[["formatter",3]],["result",6]],null,[[]],[[]],[[]],[[],["bool",15]],[[],["result",4,[["vec",3,[["knownspritetype",3]]],["error",3]]]],null,[[]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,[[]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[["error",3]]],[[]],[[]],[[],["bool",15]],[[["raylibhandle",3],["raylibthread",3],["str",15]],["result",4,[["texture2d",3],["resourceloaderror",4]]]],[[],["option",4,[["error",8]]]],[[],["string",3]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,null,[[],["joinhandle",3]],[[]],[[]],[[]],[[]],[[],["sender",3,[["discordrpcsignal",4]]]],null,[[]],null,[[],["bool",15]],[[["i64",15]]],null,null,null,[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],null,[[],["typeid",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],null,[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["error",4]]],[[["recverror",3]]],[[["elapsed",3]]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[["i64",15],["subscriptions",3]]],[[["activitybuilder",3]]],[[],["option",4,[["error",8]]]],[[],["string",3]],[[],["option",4]],[[],["option",4]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["discordrpcsignal",4]],["activitybuilder",3]],[[]],[[]],[[]],[[]],[[],["discordrpcsignal",4]],[[],["statefuldiscordrpcsignalhandler",3]],[[]],[[]],[[],["statefuldiscordrpcsignalhandler",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[]],[[]],[[],["option",4]],[[],["option",4]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,[[]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[],["bool",15]],[[["raylibhandle",3],["raylibthread",3]]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,[[]],[[]],[[],["player",3]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[],["bool",15]],[[["vector2",6,[["f32",15]]]]],null,[[]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,[[]],[[]],[[],["gamesavestate",3]],[[]],[[]],[[],["result",4]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["pathbuf",3]],[[]],[[],["bool",15]],[[["bool",15]],["result",4,[["error",3]]]],[[],["result",4,[["error",3]]]],[[],["result",4]],[[]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,[[]],[[]],[[],["persistentgamesettings",3]],[[]],[[]],[[],["result",4]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["pathbuf",3]],[[]],[[],["bool",15]],[[["bool",15]],["result",4,[["error",3]]]],[[],["result",4,[["error",3]]]],[[],["result",4]],[[]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],null,[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,[[]],[[]],[[],["bool",15]],[[],["bool",15]],null,null,[[],["option",4]],[[],["option",4]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["preloadstate",4]],[[],["loadingstate",4]],[[],["rendergamestate",4]],[[],["smfailedstate",4]],[[],["renderbackendstates",4]],[[]],[[]],[[]],[[]],[[]],[[["preloadstate",4]],["bool",15]],[[["loadingstate",4]],["bool",15]],[[["rendergamestate",4]],["bool",15]],[[["smfailedstate",4]],["bool",15]],[[["renderbackendstates",4]],["bool",15]],[[],["renderbackendstates",4]],[[],["renderbackendstates",4]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[],["renderbackendstates",4]],[[],["renderbackendstates",4]],[[],["renderbackendstates",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["renderbackendstates",4]],["bool",15]],[[],["renderbackendstates",4]],[[],["renderbackendstates",4]],[[]],[[]],[[]],[[]],[[]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,[[["u32",15],["projectconstants",3],["sender",3,[["discordrpcsignal",4]]]]],null,null,null,[[]],[[]],[[]],[[]],null,[[]],[[],["bool",15]],[[]],[[["raylibhandle",3],["raylibthread",3],["sender",3],["projectconstants",3]]],null,[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,[[]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[],["bool",15]],[[]],[[["raylibhandle",3],["raylibthread",3],["sender",3],["projectconstants",3]]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["frametexturedescriptor",3]],[[],["animatedtexturemetadata",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],null,null,[[["internaljsonloaderror",4]]],[[]],[[["error",3]]],[[["resourceloaderror",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["option",4,[["usize",15]]]],null,[[]],[[],["rectangle",3]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["raylibhandle",3],["raylibthread",3],["str",15],["str",15]],["result",4,[["animatedtextureloaderror",4]]]],[[["raylibdrawhandle",3],["vector2",6,[["f32",15]]],["option",4,[["vector2",6,[["f32",15]]]]],["option",4,[["vector2",6,[["f32",15]]]]],["option",4,[["f32",15]]],["option",4,[["color",3]]]]],[[["raylibdrawhandle",3],["usize",15],["vector2",6,[["f32",15]]],["option",4,[["vector2",6,[["f32",15]]]]],["option",4,[["vector2",6,[["f32",15]]]]],["option",4,[["f32",15]]],["option",4,[["color",3]]]]],[[]],null,null,[[],["option",4,[["error",8]]]],null,null,null,null,[[]],[[]],[[],["string",3]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[["raylibhandle",3],["raylibthread",3],["projectconstants",3]]],null,[[["raylibhandle",3],["raylibthread",3],["sender",3],["globalresources",3],["projectconstants",3]]],null,null,null,[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,[[]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[],["bool",15]],[[["raylibhandle",3],["raylibthread",3],["projectconstants",3]]],null,[[["raylibhandle",3],["raylibthread",3],["sender",3],["globalresources",3],["projectconstants",3]]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,[[]],[[]],[[["formatter",3]],["result",6]],null,[[]],[[]],[[]],[[],["bool",15]],[[["raylibhandle",3],["raylibthread",3]]],[[["raylibhandle",3],["raylibthread",3],["sender",3],["globalresources",3]]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]]],"p":[[3,"InternalData"],[4,"InternalJsonLoadError"],[13,"JsonError"],[13,"AssetNotFound"],[3,"KnownSpriteType"],[4,"ResourceLoadError"],[13,"Io"],[13,"AssetNotFound"],[13,"Generic"],[3,"DiscordRpcThreadHandle"],[4,"DiscordError"],[3,"DiscordRpcClient"],[13,"Sdk"],[13,"AwaitConnection"],[13,"ConnectionTimeout"],[4,"DiscordRpcSignal"],[3,"StatefulDiscordRpcSignalHandler"],[13,"SetGameTimeRemainingTimestamp"],[13,"ChangeAssets"],[13,"ChangeDetails"],[3,"GlobalResources"],[3,"Player"],[3,"GameSaveState"],[3,"PersistentGameSettings"],[3,"DiscordConstants"],[3,"ProjectConstants"],[4,"RenderGameState"],[4,"LoadingState"],[4,"SmFailedState"],[4,"PreloadState"],[4,"RenderBackendStates"],[13,"Preload"],[13,"Loading"],[13,"RenderGame"],[13,"SmFailed"],[3,"LoadingScreen"],[3,"SmFailureScreen"],[4,"AnimatedTextureLoadError"],[3,"FrameTextureDescriptor"],[3,"AnimatedTextureMetadata"],[3,"AnimatedTexture"],[13,"MetadataLoadError"],[13,"KnownSpriteTypesLoadError"],[13,"InvalidSpriteType"],[13,"TextureLoadError"],[3,"SceneRenderDelegate"],[3,"PlayableScene"],[3,"TestFoxScene"]]}\ +"game_logic":{"doc":"This file is the main entry point for the game logic.","t":[0,0,5,0,0,0,0,0,0,0,0,0,0,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,4,13,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,12,12,3,11,11,11,11,11,11,12,11,11,11,11,5,12,11,11,11,11,11,11,13,13,13,4,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,12,12,12,17,6,3,11,11,11,11,11,11,12,11,0,11,11,12,0,12,11,11,11,11,12,11,13,13,13,4,3,13,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,13,13,13,13,4,13,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,3,11,11,11,11,11,11,11,11,11,11,11,11,11,0,3,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,0,0,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,12,12,12,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,0,0,0,0,13,13,13,13,13,13,4,13,4,4,13,4,13,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,5,0,0,3,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,3,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,0,3,4,3,3,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,3,11,11,11,11,11,11,11,0,12,11,0,11,12,12,12,0,11,11,11,11,11,13,13,13,13,3,4,13,13,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11],"n":["asset_manager","discord","entrypoint","global_resource_package","model","persistent","project_constants","rendering","scenes","datastore","json","sprite_types","texture","InternalData","borrow","borrow_mut","from","from_subset","get","get","into","is_in_subset","iter","iter","to_subset","to_subset_unchecked","try_from","try_into","type_id","AssetNotFound","InternalJsonLoadError","JsonError","borrow","borrow_mut","fmt","fmt","from","from","from_subset","into","is_in_subset","load_json_structure","source","to_string","to_subset","to_subset_unchecked","try_from","try_into","type_id","0","0","KnownSpriteType","borrow","borrow_mut","clone","clone_into","deserialize","fmt","friendly_name","from","from_subset","into","is_in_subset","load_known_sprite_types","short_name","to_owned","to_subset","to_subset_unchecked","try_from","try_into","type_id","AssetNotFound","Generic","Io","ResourceLoadError","borrow","borrow_mut","fmt","fmt","from","from","from_subset","into","is_in_subset","load_texture_from_internal_data","source","to_string","to_subset","to_subset_unchecked","try_from","try_into","type_id","0","0","0","DISCORD_CONNECT_TIMEOUT_SECONDS","DiscordChannel","DiscordRpcThreadHandle","begin_thread_non_blocking","borrow","borrow_mut","from","from_subset","get_channel","internal_client","into","ipc","is_in_subset","new","rx_chan","signal","state","to_subset","to_subset_unchecked","try_from","try_into","tx_chan","type_id","AwaitConnection","Connection","ConnectionTimeout","DiscordError","DiscordRpcClient","Sdk","borrow","borrow","borrow_mut","borrow_mut","clear_rich_presence","discord","fmt","fmt","from","from","from","from","from","from_subset","from_subset","into","into","is_in_subset","is_in_subset","new","set_rich_presence","source","to_string","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","user","wheel","0","0","0","BeginGameTimer","ChangeAssets","ChangeDetails","ClearGameTimeRemaining","DiscordRpcSignal","EndGameTimer","SetGameTimeRemainingTimestamp","StatefulDiscordRpcSignalHandler","apply","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","fmt","fmt","from","from","from_subset","from_subset","game_assets","game_details","game_end_timer","game_party_status","game_start_timer","into","into","is_in_subset","is_in_subset","to_owned","to_owned","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","0","0","details","party_status","GlobalResources","borrow","borrow_mut","fmt","from","from_subset","into","is_in_subset","load","to_subset","to_subset_unchecked","try_from","try_into","type_id","player","Player","borrow","borrow_mut","clone","clone_into","fmt","from","from_subset","into","is_in_subset","new","position","to_owned","to_subset","to_subset_unchecked","try_from","try_into","type_id","velocity","save_state","settings","GameSaveState","borrow","borrow_mut","clone","clone_into","default","deserialize","fmt","from","from_subset","get_save_location","into","is_in_subset","load_or_create","save","serialize","to_owned","to_subset","to_subset_unchecked","try_from","try_into","type_id","PersistentGameSettings","borrow","borrow_mut","clone","clone_into","default","deserialize","fmt","from","from_subset","get_save_location","into","is_in_subset","load_or_create","save","serialize","to_owned","to_subset","to_subset_unchecked","try_from","try_into","type_id","DiscordConstants","ProjectConstants","app_id","artwork","base_window_size","borrow","borrow","borrow_mut","borrow_mut","deserialize","deserialize","discord","fmt","fmt","from","from","from_subset","from_subset","game_name","into","into","is_in_subset","is_in_subset","strings","target_fps","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","core_renderer_sm","event_loop","screens","utilities","FromFinishLoading","FromFinishPreload","FromForceSmFailure","FromInit","FromInit","Loading","LoadingState","Preload","PreloadState","RenderBackendStates","RenderGame","RenderGameState","SmFailed","SmFailedState","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","eq","eq","eq","eq","eq","finish_loading","finish_preload","fmt","fmt","fmt","fmt","fmt","force_sm_failure","force_sm_failure","force_sm_failure","from","from","from","from","from","from_subset","from_subset","from_subset","from_subset","from_subset","into","into","into","into","into","is_in_subset","is_in_subset","is_in_subset","is_in_subset","is_in_subset","ne","preload","sm_failed","to_owned","to_owned","to_owned","to_owned","to_owned","to_subset","to_subset","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","0","0","0","0","handle_graphics_blocking","loading_screen","sm_failure_screen","LoadingScreen","borrow","borrow_mut","from","from_subset","has_updated_discord_status","into","is_in_subset","new","render","resources","to_subset","to_subset_unchecked","try_from","try_into","type_id","SmFailureScreen","borrow","borrow_mut","fmt","from","from_subset","has_updated_discord_status","into","is_in_subset","new","render","to_subset","to_subset_unchecked","try_from","try_into","type_id","anim_texture","AnimatedTexture","AnimatedTextureLoadError","AnimatedTextureMetadata","FrameTextureDescriptor","InvalidSpriteType","KnownSpriteTypesLoadError","MetadataLoadError","TextureLoadError","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","fmt","fmt","fmt","fps","frames","from","from","from","from","from","from","from","from_subset","from_subset","from_subset","from_subset","get_current_frame_index","height","into","into","into","into","into","is_in_subset","is_in_subset","is_in_subset","is_in_subset","new","render_automatic","render_frame_by_index","reset_animation","sheet_height","sheet_width","source","start_time","texture","texture_metadata","texture_source_rects","to_owned","to_owned","to_string","to_subset","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","width","x","y","0","0","0","0","SceneRenderDelegate","borrow","borrow_mut","drop","from","from_subset","into","is_in_subset","main_menu","menu_control_signal","on_game_start","player_interaction","process_ingame_frame","scene_main_menu","scene_playable","scene_test_fox","test_fox","to_subset","to_subset_unchecked","try_from","try_into","type_id","DoCredits","DoLeaderboard","DoMainMenu","DoOptions","MainMenu","MenuStateSignal","QuitGame","StartGame","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","fmt","fmt","from","from","from_subset","from_subset","has_updated_discord_rpc","into","into","is_in_subset","is_in_subset","new","render_credits_frame","render_leaderboard_frame","render_main_menu_frame","render_options_frame","to_owned","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","PlayableScene","borrow","borrow_mut","fmt","from","from_subset","has_updated_discord_rpc","into","is_in_subset","new","player","render_frame","to_subset","to_subset_unchecked","try_from","try_into","type_id","TestFoxScene","borrow","borrow_mut","fmt","fox_animation","from","from_subset","into","is_in_subset","new","render_frame","to_subset","to_subset_unchecked","try_from","try_into","type_id"],"q":["game_logic","","","","","","","","","game_logic::asset_manager","","","","game_logic::asset_manager::datastore","","","","","","","","","","","","","","","","game_logic::asset_manager::json","","","","","","","","","","","","","","","","","","","","game_logic::asset_manager::json::InternalJsonLoadError","","game_logic::asset_manager::sprite_types","","","","","","","","","","","","","","","","","","","","game_logic::asset_manager::texture","","","","","","","","","","","","","","","","","","","","","game_logic::asset_manager::texture::ResourceLoadError","","","game_logic::discord","","","","","","","","","","","","","","","","","","","","","","","game_logic::discord::ipc","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game_logic::discord::ipc::DiscordError","","","game_logic::discord::signal","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game_logic::discord::signal::DiscordRpcSignal","","","","game_logic::global_resource_package","","","","","","","","","","","","","","game_logic::model","game_logic::model::player","","","","","","","","","","","","","","","","","","","game_logic::persistent","","game_logic::persistent::save_state","","","","","","","","","","","","","","","","","","","","","","game_logic::persistent::settings","","","","","","","","","","","","","","","","","","","","","","game_logic::project_constants","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game_logic::rendering","","","","game_logic::rendering::core_renderer_sm","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game_logic::rendering::core_renderer_sm::RenderBackendStates","","","","game_logic::rendering::event_loop","game_logic::rendering::screens","","game_logic::rendering::screens::loading_screen","","","","","","","","","","","","","","","","game_logic::rendering::screens::sm_failure_screen","","","","","","","","","","","","","","","","game_logic::rendering::utilities","game_logic::rendering::utilities::anim_texture","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game_logic::rendering::utilities::anim_texture::AnimatedTextureLoadError","","","","game_logic::scenes","","","","","","","","","","","","","","","","","","","","","","game_logic::scenes::main_menu","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","game_logic::scenes::player_interaction","","","","","","","","","","","","","","","","","game_logic::scenes::test_fox","","","","","","","","","","","","","","",""],"d":["Embedded asset management.","Interfacing with Discord","This is the game logic entrypoint. Despite being async, …","Global resources","","This module contains the datastructure backing persistent …","The rust side of the dist/project-constants.json file","This module contains lower level rendering logic.","The render code for various scenes","Access to the game’s embedded files.","Utilities for loading JSON from the embedded filesystem.","","Code for loading textures from RAM to VRAM","This structure is dynamically packed with the contents of …","","","","","","Get an embedded file and its metadata.","","","","Iterates over the file paths in the folder.","","","","","","The JSON data was not found in the internal data store","Possible errors generated when deserializing JSON data …","An error occurred with the JSON data itself","","","","","","","","","","Load an embedded JSON file","","","","","","","","","","The structure backing the dist/known-sprite-types.json file","","","","","","","Sprite long name","","","","","Loads a list of all known sprite types from the …","Sprite short name (used in filenames)","","","","","","","","","","","","","","","","","","","","Loads an embedded texture into VRAM.","","","","","","","","","","","How long to wait before we give up on connecting to …","A cross-thread communication channel for sending Discord …","","Run the inner communication task in an async context","","","","","Get access to the inter-thread channel for communicating …","","","Discord Rich Presence utilities","","Construct a new DiscordRpcThreadHandle","","This file contains a system for signaling Discord RPC …","","","","","","","","","","","","The client wrapper for Discord RPC","","","","","","Clears the user rich presence","","","","","","","","","","","","","","","Creates a new DiscordRpcClient","Sets the user rich presence","","","","","","","","","","","","","","","","","","Signal to begin a game timer (Discord will display …","Signal to change the graphical assets in the info card","Signal to set the details in the info card","Signal to clear the game remaining timer","Definitions of signals that can be sent to the Discord RPC …","Signal to end a game timer","Signal to begin a countdown timer (Discord will display …","A struct that can keep track of incoming signals and their …","Apply a signal to generate a new activity","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","What the player is doing, eg. “Exploring the Wilds of …","The user’s currenty party status, eg. “Playing Solo”.","Global resource package","","","","","","","","Load the resources (blocking)","","","","","","","","","","","","","","","","","Construct a new player.","","","","","","","","","","","Game save state.","","","","","","","","","","Returns the optimal path for storing settings data.","","","Loads the savestate from disk.","Saves the savestate to disk.","","","","","","","","Settings for the game.","","","","","","","","","","Returns the optimal path for storing settings data.","","","Loads the settings from disk.","Saves the settings to disk.","","","","","","","","Constants relating to Discord","This structure is filled with the contents of …","The Discord application ID","Artwork name mapping","The window size to use on launch","","","","","","","The Discord constants","","","","","","","The name of the game","","","","","Strings","The target framerate of the game","","","","","","","","","","","This module contains state machine definitions for the …","The Event Loop module","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Will begin rendering graphics. Returns when the window …","Handles loading the global resources and playing an intro …","","","","","","","","","","Construct a new LoadingScreen","","","","","","","","","","","","","","","","","Construct a new SmFailureScreen","","","","","","","This module handles the code for rendering …","","Possible errors to be thrown during the animation texture …","Definition for the metadata structure attached to each …","Definition for the structure describing a frame’s size …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Get the current frame index","","","","","","","","","","","Construct a new AnimatedTexture","Render the animation based on timestamp","Render a single frame to the screen","Clear the internal tracker for when the animation started","","","","The animation start timestamp","The whole internal spritesheet","The metadata describing the spritesheet","a list of source rects to reduce memory allocation needs …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Delegate for handling rendering. This is a struct to allow …","","","If you need anything to happen when the game closes, stick …","","","","","This scene encompasses the main menu system","","This is called when the game first loads","This scene encompasses all of the game where the player …","This is called every frame once the game has started.","","","","This “scene” is used only for testing animation and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Construct a new MainMenu","","","","","","","","","","","","","","","","","","","","","","","","","Construct a new PlayableScene","","Handler for each frame","","","","","","","","","","","","","","","Construct a new TestFoxScene","Handler for each frame","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,3,4,0,5,5,5,5,5,5,5,5,5,5,5,0,5,5,5,5,5,5,5,6,6,6,0,6,6,6,6,6,6,6,6,6,0,6,6,6,6,6,6,6,7,8,9,0,0,0,10,10,10,10,10,10,10,10,0,10,10,10,0,10,10,10,10,10,10,10,11,11,11,0,0,11,12,11,12,11,12,12,11,11,12,11,11,11,11,12,11,12,11,12,11,12,12,11,11,12,11,12,11,12,11,12,11,12,11,12,12,13,14,15,16,16,16,16,0,16,16,0,17,16,17,16,17,16,17,16,17,17,16,17,16,17,16,17,17,17,17,17,17,16,17,16,17,16,17,16,17,16,17,16,17,16,17,16,17,18,19,20,20,0,21,21,21,21,21,21,21,21,21,21,21,21,21,0,0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,0,0,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,0,0,25,25,26,25,26,25,26,25,26,26,25,26,25,26,25,26,26,25,26,25,26,25,26,25,26,25,26,25,26,25,26,25,26,0,0,0,0,27,28,29,30,29,31,0,31,0,0,31,0,31,0,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,28,30,30,28,27,29,31,30,28,27,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,31,31,31,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,30,28,27,29,31,32,33,34,35,0,0,0,0,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,0,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,0,0,0,0,0,38,38,38,38,38,39,40,41,38,39,40,41,39,40,39,40,39,40,38,38,39,40,41,40,40,38,38,38,38,39,40,41,38,39,40,41,41,39,38,39,39,40,41,38,39,40,41,41,41,41,41,40,40,38,41,41,41,41,39,40,38,38,39,40,41,38,39,40,41,38,39,40,41,38,39,40,41,38,39,40,41,39,39,39,42,43,44,45,0,46,46,46,46,46,46,46,0,46,46,0,46,46,46,46,0,46,46,46,46,46,47,47,47,47,0,0,47,47,47,48,47,48,47,47,47,48,47,48,47,48,48,47,48,47,48,48,48,48,48,48,47,47,48,47,48,47,48,47,48,47,48,0,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,0,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50],"f":[null,null,[[["bool",15]]],null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[["str",15]],["option",4,[["embeddedfile",3]]]],[[["str",15]],["option",4,[["embeddedfile",3]]]],[[]],[[],["bool",15]],[[],["filenames",4]],[[]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,[[]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["error",3]]],[[]],[[]],[[]],[[],["bool",15]],[[["str",15]],["result",4,[["deserializeowned",8],["internaljsonloaderror",4]]]],[[],["option",4,[["error",8]]]],[[],["string",3]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,[[]],[[]],[[],["knownspritetype",3]],[[]],[[],["result",4]],[[["formatter",3]],["result",6]],null,[[]],[[]],[[]],[[],["bool",15]],[[],["result",4,[["vec",3,[["knownspritetype",3]]],["error",3]]]],null,[[]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,[[]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[["error",3]]],[[]],[[]],[[],["bool",15]],[[["raylibhandle",3],["raylibthread",3],["str",15]],["result",4,[["texture2d",3],["resourceloaderror",4]]]],[[],["option",4,[["error",8]]]],[[],["string",3]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,null,[[],["joinhandle",3]],[[]],[[]],[[]],[[]],[[],["sender",3,[["discordrpcsignal",4]]]],null,[[]],null,[[],["bool",15]],[[["i64",15]]],null,null,null,[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],null,[[],["typeid",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],null,[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[["recverror",3]]],[[["error",4]]],[[]],[[["elapsed",3]]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[["i64",15],["subscriptions",3]]],[[["activitybuilder",3]]],[[],["option",4,[["error",8]]]],[[],["string",3]],[[],["option",4]],[[],["option",4]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["discordrpcsignal",4]],["activitybuilder",3]],[[]],[[]],[[]],[[]],[[],["discordrpcsignal",4]],[[],["statefuldiscordrpcsignalhandler",3]],[[]],[[]],[[],["statefuldiscordrpcsignalhandler",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[]],[[]],[[],["option",4]],[[],["option",4]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,[[]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[],["bool",15]],[[["raylibhandle",3],["raylibthread",3]]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,[[]],[[]],[[],["player",3]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[],["bool",15]],[[["vector2",6,[["f32",15]]]]],null,[[]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,[[]],[[]],[[],["gamesavestate",3]],[[]],[[]],[[],["result",4]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["pathbuf",3]],[[]],[[],["bool",15]],[[["bool",15]],["result",4,[["error",3]]]],[[],["result",4,[["error",3]]]],[[],["result",4]],[[]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,[[]],[[]],[[],["persistentgamesettings",3]],[[]],[[]],[[],["result",4]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["pathbuf",3]],[[]],[[],["bool",15]],[[["bool",15]],["result",4,[["error",3]]]],[[],["result",4,[["error",3]]]],[[],["result",4]],[[]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],null,[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,[[]],[[]],[[],["bool",15]],[[],["bool",15]],null,null,[[],["option",4]],[[],["option",4]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["preloadstate",4]],[[],["loadingstate",4]],[[],["rendergamestate",4]],[[],["smfailedstate",4]],[[],["renderbackendstates",4]],[[]],[[]],[[]],[[]],[[]],[[["preloadstate",4]],["bool",15]],[[["loadingstate",4]],["bool",15]],[[["rendergamestate",4]],["bool",15]],[[["smfailedstate",4]],["bool",15]],[[["renderbackendstates",4]],["bool",15]],[[],["renderbackendstates",4]],[[],["renderbackendstates",4]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[],["renderbackendstates",4]],[[],["renderbackendstates",4]],[[],["renderbackendstates",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["renderbackendstates",4]],["bool",15]],[[],["renderbackendstates",4]],[[],["renderbackendstates",4]],[[]],[[]],[[]],[[]],[[]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,[[["u32",15],["projectconstants",3],["sender",3,[["discordrpcsignal",4]]]]],null,null,null,[[]],[[]],[[]],[[]],null,[[]],[[],["bool",15]],[[]],[[["raylibhandle",3],["raylibthread",3],["sender",3],["projectconstants",3]]],null,[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,[[]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[],["bool",15]],[[]],[[["raylibhandle",3],["raylibthread",3],["sender",3],["projectconstants",3]]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["frametexturedescriptor",3]],[[],["animatedtexturemetadata",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],null,null,[[]],[[["internaljsonloaderror",4]]],[[["error",3]]],[[["resourceloaderror",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["option",4,[["usize",15]]]],null,[[]],[[]],[[],["rectangle",3]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["raylibhandle",3],["raylibthread",3],["str",15],["str",15]],["result",4,[["animatedtextureloaderror",4]]]],[[["raylibdrawhandle",3],["vector2",6,[["f32",15]]],["option",4,[["vector2",6,[["f32",15]]]]],["option",4,[["vector2",6,[["f32",15]]]]],["option",4,[["f32",15]]],["option",4,[["color",3]]]]],[[["raylibdrawhandle",3],["usize",15],["vector2",6,[["f32",15]]],["option",4,[["vector2",6,[["f32",15]]]]],["option",4,[["vector2",6,[["f32",15]]]]],["option",4,[["f32",15]]],["option",4,[["color",3]]]]],[[]],null,null,[[],["option",4,[["error",8]]]],null,null,null,null,[[]],[[]],[[],["string",3]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[],["option",4]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],null,null,[[["raylibhandle",3],["raylibthread",3],["projectconstants",3]]],null,[[["raylibhandle",3],["raylibthread",3],["sender",3],["globalresources",3],["projectconstants",3]]],null,null,null,null,[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[],["menustatesignal",4]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[["raylibhandle",3],["raylibthread",3],["projectconstants",3]]],[[["raylibhandle",3],["raylibthread",3],["sender",3],["globalresources",3],["projectconstants",3]]],[[["raylibhandle",3],["raylibthread",3],["sender",3],["globalresources",3],["projectconstants",3]]],[[["raylibhandle",3],["raylibthread",3],["sender",3],["globalresources",3],["projectconstants",3]]],[[["raylibhandle",3],["raylibthread",3],["sender",3],["globalresources",3],["projectconstants",3]]],[[]],[[],["option",4]],[[],["option",4]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,[[]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[],["bool",15]],[[["raylibhandle",3],["raylibthread",3],["projectconstants",3]]],null,[[["raylibhandle",3],["raylibthread",3],["sender",3],["globalresources",3],["projectconstants",3]]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,[[]],[[]],[[["formatter",3]],["result",6]],null,[[]],[[]],[[]],[[],["bool",15]],[[["raylibhandle",3],["raylibthread",3]]],[[["raylibhandle",3],["raylibthread",3],["sender",3],["globalresources",3]]],[[],["option",4]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]]],"p":[[3,"InternalData"],[4,"InternalJsonLoadError"],[13,"JsonError"],[13,"AssetNotFound"],[3,"KnownSpriteType"],[4,"ResourceLoadError"],[13,"Io"],[13,"AssetNotFound"],[13,"Generic"],[3,"DiscordRpcThreadHandle"],[4,"DiscordError"],[3,"DiscordRpcClient"],[13,"Sdk"],[13,"AwaitConnection"],[13,"ConnectionTimeout"],[4,"DiscordRpcSignal"],[3,"StatefulDiscordRpcSignalHandler"],[13,"SetGameTimeRemainingTimestamp"],[13,"ChangeAssets"],[13,"ChangeDetails"],[3,"GlobalResources"],[3,"Player"],[3,"GameSaveState"],[3,"PersistentGameSettings"],[3,"DiscordConstants"],[3,"ProjectConstants"],[4,"RenderGameState"],[4,"LoadingState"],[4,"SmFailedState"],[4,"PreloadState"],[4,"RenderBackendStates"],[13,"Preload"],[13,"Loading"],[13,"RenderGame"],[13,"SmFailed"],[3,"LoadingScreen"],[3,"SmFailureScreen"],[4,"AnimatedTextureLoadError"],[3,"FrameTextureDescriptor"],[3,"AnimatedTextureMetadata"],[3,"AnimatedTexture"],[13,"MetadataLoadError"],[13,"KnownSpriteTypesLoadError"],[13,"InvalidSpriteType"],[13,"TextureLoadError"],[3,"SceneRenderDelegate"],[4,"MenuStateSignal"],[3,"MainMenu"],[3,"PlayableScene"],[3,"TestFoxScene"]]}\ }'); if (window.initSearch) {window.initSearch(searchIndex)}; \ No newline at end of file diff --git a/rustdoc/source-files.js b/rustdoc/source-files.js index 5c7a9d77..34a04338 100644 --- a/rustdoc/source-files.js +++ b/rustdoc/source-files.js @@ -1,3 +1,3 @@ var N = null;var sourcesIndex = {}; -sourcesIndex["game_logic"] = {"name":"","dirs":[{"name":"asset_manager","files":["datastore.rs","json.rs","mod.rs","sprite_types.rs","texture.rs"]},{"name":"discord","files":["ipc.rs","mod.rs","signal.rs"]},{"name":"model","files":["mod.rs","player.rs"]},{"name":"persistent","files":["mod.rs","save_state.rs","settings.rs"]},{"name":"rendering","dirs":[{"name":"screens","files":["loading_screen.rs","mod.rs","sm_failure_screen.rs"]},{"name":"utilities","files":["anim_texture.rs","mod.rs"]}],"files":["core_renderer_sm.rs","event_loop.rs","mod.rs"]},{"name":"scenes","files":["mod.rs","player_interaction.rs","test_fox.rs"]}],"files":["global_resource_package.rs","lib.rs","project_constants.rs"]}; +sourcesIndex["game_logic"] = {"name":"","dirs":[{"name":"asset_manager","files":["datastore.rs","json.rs","mod.rs","sprite_types.rs","texture.rs"]},{"name":"discord","files":["ipc.rs","mod.rs","signal.rs"]},{"name":"model","files":["mod.rs","player.rs"]},{"name":"persistent","files":["mod.rs","save_state.rs","settings.rs"]},{"name":"rendering","dirs":[{"name":"screens","files":["loading_screen.rs","mod.rs","sm_failure_screen.rs"]},{"name":"utilities","files":["anim_texture.rs","mod.rs"]}],"files":["core_renderer_sm.rs","event_loop.rs","mod.rs"]},{"name":"scenes","files":["main_menu.rs","mod.rs","player_interaction.rs","test_fox.rs"]}],"files":["global_resource_package.rs","lib.rs","project_constants.rs"]}; createSourceSidebar(); diff --git a/rustdoc/src/game_logic/scenes/main_menu.rs.html b/rustdoc/src/game_logic/scenes/main_menu.rs.html new file mode 100644 index 00000000..0c56ed6d --- /dev/null +++ b/rustdoc/src/game_logic/scenes/main_menu.rs.html @@ -0,0 +1,517 @@ +main_menu.rs - source +
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+
//! This scene encompasses the main menu system
+
+use nalgebra as na;
+use raylib::{
+    ffi::{GetMouseX, GetMouseY, IsMouseButtonDown, Texture},
+    prelude::*,
+};
+
+use crate::{
+    discord::{DiscordChannel, DiscordRpcSignal},
+    global_resource_package::GlobalResources,
+    project_constants::ProjectConstants,
+};
+
+#[derive(Debug, Clone)]
+pub enum MenuStateSignal {
+    StartGame,
+    QuitGame,
+    DoMainMenu,
+    DoOptions,
+    DoCredits,
+    DoLeaderboard,
+}
+
+#[derive(Debug)]
+pub struct MainMenu {
+    has_updated_discord_rpc: bool,
+}
+
+impl MainMenu {
+    /// Construct a new `MainMenu`
+    pub fn new(
+        raylib_handle: &mut RaylibHandle,
+        thread: &RaylibThread,
+        constants: &ProjectConstants,
+    ) -> Self {
+        Self {
+            has_updated_discord_rpc: false,
+        }
+    }
+
+    pub async fn render_main_menu_frame(
+        &mut self,
+        raylib: &mut RaylibHandle,
+        rl_thread: &RaylibThread,
+        discord: &DiscordChannel,
+        global_resources: &GlobalResources,
+        constants: &ProjectConstants,
+    ) -> MenuStateSignal {
+        // Handle updating discord RPC
+        if !self.has_updated_discord_rpc {
+            discord.send(DiscordRpcSignal::EndGameTimer).await.unwrap();
+            discord
+                .send(DiscordRpcSignal::ChangeDetails {
+                    details: "Looking at a menu".to_string(),
+                    party_status: None,
+                })
+                .await
+                .unwrap();
+            self.has_updated_discord_rpc = true;
+        }
+
+        // Get a drawing handle
+        let mut draw = raylib.begin_drawing(rl_thread);
+
+        // Clear the screen
+        draw.clear_background(Color::WHITE);
+
+        //Obtain mouse position
+        let mouse_x = draw.get_mouse_x();
+        let mouse_y = draw.get_mouse_y();
+
+        //I wanna see where mouseeee
+        draw.draw_text(&mouse_x.to_string(), 20, 5, 20, Color::BLACK);
+        draw.draw_text(&mouse_y.to_string(), 70, 5, 20, Color::BLACK);
+
+        // TODO: Render stuff
+        //Initial Option placeholder words in the main menu
+        draw.draw_text("Game Title", 100, 90, 60, Color::BLACK);
+        draw.draw_text("Start Game", 100, 190, 34, Color::BLACK);
+        draw.draw_text("Options", 100, 250, 34, Color::BLACK);
+        draw.draw_text("Volume", 100, 300, 34, Color::BLACK);  
+        draw.draw_text("Credits", 100, 410, 34, Color::BLACK);
+        draw.draw_text("Leaderboard", 100, 470, 34, Color::BLACK);
+        draw.draw_text("Exit", 100, 550, 34, Color::BLACK);
+
+        //First two are starting X and Y position, last two finishing X and Y. Made to resemble a box
+
+        if mouse_x >= 100 && mouse_y >= 193 && mouse_x <= 290 && mouse_y <= 216 {
+            //Insides while make a lil shade for it to look cool
+            draw.draw_text("Start Game", 103, 191, 34, Color::GRAY);
+            draw.draw_text("Start Game", 100, 190, 34, Color::BLACK);
+            if draw.is_mouse_button_down(MouseButton::MOUSE_LEFT_BUTTON) {
+                return MenuStateSignal::StartGame;
+            }
+        }
+
+        if mouse_x >= 100 && mouse_y >= 250 && mouse_x <= 222 && mouse_y <= 275 {
+            draw.draw_text("Options", 103, 251, 34, Color::GRAY);
+            draw.draw_text("Options", 100, 250, 34, Color::BLACK);
+            if draw.is_mouse_button_down(MouseButton::MOUSE_LEFT_BUTTON) {
+                return MenuStateSignal::DoOptions;
+            }
+        }
+
+        if mouse_x >= 100 && mouse_y >= 410 && mouse_x <= 222 && mouse_y <= 437 {
+            draw.draw_text("Credits", 103, 411, 34, Color::GRAY);
+            draw.draw_text("Credits", 100, 410, 34, Color::BLACK);
+            if draw.is_mouse_button_down(MouseButton::MOUSE_LEFT_BUTTON) {
+                return MenuStateSignal::DoCredits;
+            }
+        }
+        if mouse_x >= 100 && mouse_y >= 470 && mouse_x <= 316 && mouse_y <= 496 {
+            draw.draw_text("Leaderboard", 103, 471, 34, Color::GRAY);
+            draw.draw_text("Leaderboard", 100, 470, 34, Color::BLACK);
+            if draw.is_mouse_button_down(MouseButton::MOUSE_LEFT_BUTTON) {
+                return MenuStateSignal::DoLeaderboard;
+            }
+        }
+
+        if mouse_x >= 100 && mouse_y >= 300 && mouse_x <= 215 && mouse_y <= 330 {
+            draw.draw_text("Volume", 103, 301, 34, Color::GRAY);
+            draw.draw_text("Volume", 100, 300, 34, Color::BLACK);
+            if draw.is_mouse_button_down(MouseButton::MOUSE_LEFT_BUTTON) {
+                //Function for Volume here
+            }
+        }
+        
+        //Exit button has no function yet
+        if mouse_x >= 100 && mouse_y >= 550 && mouse_x <= 162 && mouse_y <= 575 {
+            draw.draw_text("Exit", 103, 551, 34, Color::GRAY);
+            draw.draw_text("Exit", 100, 550, 34, Color::BLACK);
+        }
+
+          
+
+        // Return MenuStateSignal::StartGame if you want the game to start.
+        // Otherwise, keep returning MenuStateSignal::DoMainMenu until the player clicks the start button
+        return MenuStateSignal::DoMainMenu;
+    }
+
+    pub async fn render_options_frame(
+        &mut self,
+        raylib: &mut RaylibHandle,
+        rl_thread: &RaylibThread,
+        discord: &DiscordChannel,
+        global_resources: &GlobalResources,
+        constants: &ProjectConstants,
+    ) -> MenuStateSignal {
+
+        //Draw declared
+        let mut draw = raylib.begin_drawing(rl_thread);
+        draw.clear_background(Color::WHITE);
+        //Mouse Position
+        let mouse_x = draw.get_mouse_x();
+        let mouse_y = draw.get_mouse_y();
+        //Show mouse position
+        draw.draw_text(&mouse_x.to_string(), 20, 5, 20, Color::BLACK);
+        draw.draw_text(&mouse_y.to_string(), 70, 5, 20, Color::BLACK);
+
+        //Top Label
+        draw.draw_text("Options", 25, 30, 55, Color::BLACK);    
+
+        //Return Button
+        draw.draw_text("Return", 100, 550, 34, Color::BLACK);
+        if mouse_x >= 100 && mouse_y >= 550 && mouse_x <= 216 && mouse_y <= 576 {
+            draw.draw_text("Return", 103, 551, 34, Color::GRAY);
+            draw.draw_text("Return", 100, 550, 34, Color::BLACK);
+            if draw.is_mouse_button_down(MouseButton::MOUSE_LEFT_BUTTON) {
+                return MenuStateSignal::DoMainMenu; //Goes back to main menu
+            }
+        }
+        
+        return MenuStateSignal::DoOptions;
+    }
+
+    pub async fn render_credits_frame(
+        &mut self,
+        raylib: &mut RaylibHandle,
+        rl_thread: &RaylibThread,
+        discord: &DiscordChannel,
+        global_resources: &GlobalResources,
+        constants: &ProjectConstants,
+    ) -> MenuStateSignal {
+        let mut draw = raylib.begin_drawing(rl_thread);
+        draw.clear_background(Color::WHITE);
+        //Mouse Position
+        let mouse_x = draw.get_mouse_x();
+        let mouse_y = draw.get_mouse_y();
+        //Show mouse position
+        draw.draw_text(&mouse_x.to_string(), 20, 5, 20, Color::BLACK);
+        draw.draw_text(&mouse_y.to_string(), 70, 5, 20, Color::BLACK);
+
+        //Screen Size
+        // let window_height = draw.get_screen_height();
+        let window_width = draw.get_screen_width();
+
+        draw.draw_text("Credits", (window_width/2) - 100, 30, 55, Color::BLACK);
+
+        draw.draw_text("Carter Tomlenovich", (window_width/2) - 170, 280, 40, Color::DARKBLUE);
+        draw.draw_text("Emilia Firas", (window_width/2) - 170, 120, 40, Color::DARKBLUE);
+        draw.draw_text("Emmet Logue", (window_width/2) - 170, 320, 40, Color::DARKBLUE);
+        draw.draw_text("Evan Pratten", (window_width/2) - 170, 160, 40, Color::DARKBLUE);
+        draw.draw_text("James Nickoli", (window_width/2) - 170, 240, 40, Color::DARKBLUE);
+        draw.draw_text("Marcelo Geldres", (window_width/2) - 170, 440, 40, Color::DARKBLUE);
+        draw.draw_text("Percy", (window_width/2) - 170, 400, 40, Color::DARKBLUE);
+        draw.draw_text("Silas Bartha", (window_width/2) - 170, 200, 40, Color::DARKBLUE);
+        draw.draw_text("Taya Armstrong", (window_width/2) - 170, 360, 40, Color::DARKBLUE);
+
+        //Return Button
+        draw.draw_text("Return", 100, 550, 34, Color::BLACK);
+        if mouse_x >= 100 && mouse_y >= 550 && mouse_x <= 216 && mouse_y <= 576 {
+            draw.draw_text("Return", 103, 551, 34, Color::GRAY);
+            draw.draw_text("Return", 100, 550, 34, Color::BLACK);
+            if draw.is_mouse_button_down(MouseButton::MOUSE_LEFT_BUTTON) {
+                return MenuStateSignal::DoMainMenu;
+            }
+        }
+
+        return MenuStateSignal::DoCredits;
+    }
+
+    pub async fn render_leaderboard_frame(
+        &mut self,
+        raylib: &mut RaylibHandle,
+        rl_thread: &RaylibThread,
+        discord: &DiscordChannel,
+        global_resources: &GlobalResources,
+        constants: &ProjectConstants,
+    ) -> MenuStateSignal {
+        let mut draw = raylib.begin_drawing(rl_thread);
+        draw.clear_background(Color::WHITE);
+        //Mouse Position
+        let mouse_x = draw.get_mouse_x();
+        let mouse_y = draw.get_mouse_y();
+
+        //Show mouse position
+        draw.draw_text(&mouse_x.to_string(), 20, 5, 20, Color::BLACK);
+        draw.draw_text(&mouse_y.to_string(), 70, 5, 20, Color::BLACK);
+
+        let window_width = draw.get_screen_width();
+        draw.draw_text("Leaderboard", (window_width/2) - 176, 30, 55, Color::BLACK);
+
+        //Return Button
+        draw.draw_text("Return", 100, 550, 34, Color::BLACK);
+        if mouse_x >= 100 && mouse_y >= 550 && mouse_x <= 216 && mouse_y <= 576 {
+            draw.draw_text("Return", 103, 551, 34, Color::GRAY);
+            draw.draw_text("Return", 100, 550, 34, Color::BLACK);
+            if draw.is_mouse_button_down(MouseButton::MOUSE_LEFT_BUTTON) {
+                return MenuStateSignal::DoMainMenu;
+            }
+        }
+
+        return MenuStateSignal::DoLeaderboard;
+    }
+}
+
+
+ \ No newline at end of file diff --git a/rustdoc/src/game_logic/scenes/mod.rs.html b/rustdoc/src/game_logic/scenes/mod.rs.html index a09d61b1..481a9ff6 100644 --- a/rustdoc/src/game_logic/scenes/mod.rs.html +++ b/rustdoc/src/game_logic/scenes/mod.rs.html @@ -1,70 +1,109 @@ mod.rs - source
 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
+        
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
 
//! The render code for various scenes
 //!
 //! ## Overview
@@ -77,16 +116,23 @@
     project_constants::ProjectConstants,
 };
 
-use self::{player_interaction::PlayableScene, test_fox::TestFoxScene};
+use self::{
+    main_menu::{MainMenu, MenuStateSignal},
+    player_interaction::PlayableScene,
+    test_fox::TestFoxScene,
+};
+mod main_menu;
 mod player_interaction;
 mod test_fox;
 
 /// Delegate for handling rendering.
 /// This is a struct to allow for stateful data (like sub-screens) to be set up
 pub struct SceneRenderDelegate {
+    menu_control_signal: MenuStateSignal,
     /* Scenes */
     scene_test_fox: TestFoxScene,
     scene_playable: PlayableScene,
+    scene_main_menu: MainMenu,
 }
 
 impl SceneRenderDelegate {
@@ -101,10 +147,13 @@
         // Init some scenes
         let scene_test_fox = TestFoxScene::new(raylib, rl_thread);
         let scene_playable = PlayableScene::new(raylib, rl_thread, constants);
+        let scene_main_menu = MainMenu::new(raylib, rl_thread, constants);
 
         Self {
+            menu_control_signal: MenuStateSignal::DoMainMenu,
             scene_test_fox,
             scene_playable,
+            scene_main_menu,
         }
     }
 
@@ -119,10 +168,39 @@
         global_resources: &GlobalResources,
         constants: &ProjectConstants,
     ) {
-        // For now, we will just render the game scene
-        self.scene_playable
-            .render_frame(raylib, rl_thread, &discord, global_resources, constants)
-            .await;
+        // Render the main menu if in it, otherwise, render the game
+        match self.menu_control_signal {
+            MenuStateSignal::StartGame => {
+                self.scene_playable
+                    .render_frame(raylib, rl_thread, &discord, global_resources, constants)
+                    .await;
+            }
+            MenuStateSignal::QuitGame => unimplemented!(),
+            MenuStateSignal::DoMainMenu => {
+                self.menu_control_signal = self
+                    .scene_main_menu
+                    .render_main_menu_frame(raylib, rl_thread, discord, global_resources, constants)
+                    .await
+            }
+            MenuStateSignal::DoOptions => {
+                self.menu_control_signal = self
+                    .scene_main_menu
+                    .render_options_frame(raylib, rl_thread, discord, global_resources, constants)
+                    .await
+            },
+            MenuStateSignal::DoCredits => {
+                self.menu_control_signal = self
+                    .scene_main_menu
+                    .render_credits_frame(raylib, rl_thread, discord, global_resources, constants)
+                    .await
+            },
+            MenuStateSignal::DoLeaderboard => {
+                self.menu_control_signal = self
+                    .scene_main_menu
+                    .render_leaderboard_frame(raylib, rl_thread, discord, global_resources, constants)
+                    .await
+            },
+        }
     }
 }