1
0
Fork 0
mirror of https://github.com/doukutsu-rs/doukutsu-rs synced 2024-11-30 01:02:51 +00:00

switch like look for map system gui

This commit is contained in:
Alula 2022-02-12 09:28:09 +01:00
parent 680294def8
commit 3cd95b4427
No known key found for this signature in database
GPG key ID: 3E00485503A1D8BA
2 changed files with 19 additions and 10 deletions

View file

@ -173,7 +173,9 @@ impl MapSystem {
((text_height + 4.0) * state.scale) as _, ((text_height + 4.0) * state.scale) as _,
); );
if !state.constants.is_switch {
graphics::draw_rect(ctx, rect_black_bar, Color::new(0.0, 0.0, 0.0, 1.0))?; graphics::draw_rect(ctx, rect_black_bar, Color::new(0.0, 0.0, 0.0, 1.0))?;
}
let map_name_width = state.font.text_width(stage.data.name.chars(), &state.constants); let map_name_width = state.font.text_width(stage.data.name.chars(), &state.constants);
let map_name_off_x = (state.canvas_size.0 - map_name_width) / 2.0; let map_name_off_x = (state.canvas_size.0 - map_name_width) / 2.0;

View file

@ -5,7 +5,7 @@ use std::rc::Rc;
use log::info; use log::info;
use crate::caret::CaretType; use crate::caret::CaretType;
use crate::common::{interpolate_fix9_scale, Color, Direction, Rect}; use crate::common::{Color, Direction, interpolate_fix9_scale, Rect};
use crate::components::background::Background; use crate::components::background::Background;
use crate::components::boss_life_bar::BossLifeBar; use crate::components::boss_life_bar::BossLifeBar;
use crate::components::credits::Credits; use crate::components::credits::Credits;
@ -24,31 +24,31 @@ use crate::components::water_renderer::WaterRenderer;
use crate::components::whimsical_star::WhimsicalStar; use crate::components::whimsical_star::WhimsicalStar;
use crate::entity::GameEntity; use crate::entity::GameEntity;
use crate::frame::{Frame, UpdateTarget}; use crate::frame::{Frame, UpdateTarget};
use crate::framework::{filesystem, graphics};
use crate::framework::backend::SpriteBatchCommand; use crate::framework::backend::SpriteBatchCommand;
use crate::framework::context::Context; use crate::framework::context::Context;
use crate::framework::error::GameResult; use crate::framework::error::GameResult;
use crate::framework::graphics::{draw_rect, BlendMode, FilterMode}; use crate::framework::graphics::{BlendMode, draw_rect, FilterMode};
use crate::framework::ui::Components; use crate::framework::ui::Components;
use crate::framework::{filesystem, graphics};
use crate::input::touch_controls::TouchControlType; use crate::input::touch_controls::TouchControlType;
use crate::inventory::{Inventory, TakeExperienceResult}; use crate::inventory::{Inventory, TakeExperienceResult};
use crate::map::WaterParams; use crate::map::WaterParams;
use crate::menu::pause_menu::PauseMenu; use crate::menu::pause_menu::PauseMenu;
use crate::npc::{NPC, NPCLayer};
use crate::npc::boss::BossNPC; use crate::npc::boss::BossNPC;
use crate::npc::list::NPCList; use crate::npc::list::NPCList;
use crate::npc::{NPCLayer, NPC}; use crate::physics::{OFFSETS, PhysicalEntity};
use crate::physics::{PhysicalEntity, OFFSETS};
use crate::player::{ControlMode, Player, TargetPlayer}; use crate::player::{ControlMode, Player, TargetPlayer};
use crate::rng::XorShift; use crate::rng::XorShift;
use crate::scene::title_scene::TitleScene;
use crate::scene::Scene; use crate::scene::Scene;
use crate::scene::title_scene::TitleScene;
use crate::scripting::tsc::credit_script::CreditScriptVM; use crate::scripting::tsc::credit_script::CreditScriptVM;
use crate::scripting::tsc::text_script::{ScriptMode, TextScriptExecutionState, TextScriptVM}; use crate::scripting::tsc::text_script::{ScriptMode, TextScriptExecutionState, TextScriptVM};
use crate::shared_game_state::{SharedGameState, TileSize}; use crate::shared_game_state::{SharedGameState, TileSize};
use crate::stage::{BackgroundType, Stage, StageTexturePaths}; use crate::stage::{BackgroundType, Stage, StageTexturePaths};
use crate::texture_set::SpriteBatch; use crate::texture_set::SpriteBatch;
use crate::weapon::bullet::BulletManager;
use crate::weapon::{Weapon, WeaponType}; use crate::weapon::{Weapon, WeaponType};
use crate::weapon::bullet::BulletManager;
pub struct GameScene { pub struct GameScene {
pub tick: u32, pub tick: u32,
@ -1528,7 +1528,11 @@ impl Scene for GameScene {
.wrapping_add(self.stage_id as i32) .wrapping_add(self.stage_id as i32)
.rotate_right(7); .rotate_right(7);
state.game_rng = XorShift::new(seed); state.game_rng = XorShift::new(seed);
state.textscript_vm.set_scene_script(self.stage.load_text_script(&state.constants.base_paths, &state.constants, ctx)?); state.textscript_vm.set_scene_script(self.stage.load_text_script(
&state.constants.base_paths,
&state.constants,
ctx,
)?);
state.textscript_vm.suspend = false; state.textscript_vm.suspend = false;
state.tile_size = self.stage.map.tile_size; state.tile_size = self.stage.map.tile_size;
#[cfg(feature = "scripting-lua")] #[cfg(feature = "scripting-lua")]
@ -1757,7 +1761,10 @@ impl Scene for GameScene {
self.tilemap.set_prev()?; self.tilemap.set_prev()?;
self.inventory_dim += 0.1 self.inventory_dim += 0.1
* if state.textscript_vm.mode == ScriptMode::Inventory || self.pause_menu.is_paused() { * if state.textscript_vm.mode == ScriptMode::Inventory
|| state.textscript_vm.state == TextScriptExecutionState::MapSystem
|| self.pause_menu.is_paused()
{
state.frame_time as f32 state.frame_time as f32
} else { } else {
-(state.frame_time as f32) -(state.frame_time as f32)