mirror of
https://github.com/doukutsu-rs/doukutsu-rs
synced 2024-09-28 21:19:24 +00:00
really basic text skip
This commit is contained in:
parent
fd7047eb56
commit
82cb203ef9
|
@ -52,6 +52,10 @@ impl PlayerController for DummyPlayerController {
|
|||
false
|
||||
}
|
||||
|
||||
fn skip(&self) -> bool {
|
||||
false
|
||||
}
|
||||
|
||||
fn trigger_up(&self) -> bool {
|
||||
false
|
||||
}
|
||||
|
@ -84,6 +88,10 @@ impl PlayerController for DummyPlayerController {
|
|||
false
|
||||
}
|
||||
|
||||
fn trigger_skip(&self) -> bool {
|
||||
false
|
||||
}
|
||||
|
||||
fn trigger_menu_ok(&self) -> bool {
|
||||
false
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ bitfield! {
|
|||
pub prev_weapon, set_prev_weapon: 9;
|
||||
pub escape, set_escape: 10;
|
||||
pub enter, set_enter: 11;
|
||||
pub skip, set_skip: 12;
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
|
@ -60,6 +61,7 @@ impl PlayerController for KeyboardController {
|
|||
self.state.set_inventory(keyboard::is_key_pressed(ctx, keymap.inventory));
|
||||
self.state.set_jump(keyboard::is_key_pressed(ctx, keymap.jump));
|
||||
self.state.set_shoot(keyboard::is_key_pressed(ctx, keymap.shoot));
|
||||
self.state.set_skip(keyboard::is_key_pressed(ctx, keymap.skip));
|
||||
self.state.set_prev_weapon(keyboard::is_key_pressed(ctx, keymap.prev_weapon));
|
||||
self.state.set_next_weapon(keyboard::is_key_pressed(ctx, keymap.next_weapon));
|
||||
self.state.set_enter(keyboard::is_key_pressed(ctx, VirtualKeyCode::Return));
|
||||
|
@ -107,6 +109,10 @@ impl PlayerController for KeyboardController {
|
|||
self.state.shoot()
|
||||
}
|
||||
|
||||
fn skip(&self) -> bool {
|
||||
self.state.skip()
|
||||
}
|
||||
|
||||
fn trigger_up(&self) -> bool {
|
||||
self.trigger.up()
|
||||
}
|
||||
|
@ -139,6 +145,10 @@ impl PlayerController for KeyboardController {
|
|||
self.trigger.shoot()
|
||||
}
|
||||
|
||||
fn trigger_skip(&self) -> bool {
|
||||
self.trigger.skip()
|
||||
}
|
||||
|
||||
fn trigger_menu_ok(&self) -> bool {
|
||||
self.trigger.jump() || self.trigger.enter()
|
||||
}
|
||||
|
|
|
@ -31,6 +31,9 @@ pub trait PlayerController: PlayerControllerClone {
|
|||
/// True if "shoot" button is down.
|
||||
fn shoot(&self) -> bool;
|
||||
|
||||
/// True if "skip" button is down.
|
||||
fn skip(&self) -> bool;
|
||||
|
||||
fn trigger_up(&self) -> bool;
|
||||
|
||||
fn trigger_left(&self) -> bool;
|
||||
|
@ -47,6 +50,8 @@ pub trait PlayerController: PlayerControllerClone {
|
|||
|
||||
fn trigger_shoot(&self) -> bool;
|
||||
|
||||
fn trigger_skip(&self) -> bool;
|
||||
|
||||
fn trigger_menu_ok(&self) -> bool;
|
||||
|
||||
fn trigger_menu_back(&self) -> bool;
|
||||
|
|
|
@ -133,6 +133,11 @@ impl PlayerController for TouchPlayerController {
|
|||
self.state.shoot()
|
||||
}
|
||||
|
||||
fn skip(&self) -> bool {
|
||||
// TODO
|
||||
false
|
||||
}
|
||||
|
||||
fn trigger_up(&self) -> bool {
|
||||
self.trigger.up()
|
||||
}
|
||||
|
@ -165,6 +170,11 @@ impl PlayerController for TouchPlayerController {
|
|||
self.trigger.shoot()
|
||||
}
|
||||
|
||||
fn trigger_skip(&self) -> bool {
|
||||
// TODO
|
||||
false
|
||||
}
|
||||
|
||||
fn trigger_menu_ok(&self) -> bool {
|
||||
self.trigger.jump()
|
||||
}
|
||||
|
|
|
@ -72,6 +72,7 @@ pub struct PlayerKeyMap {
|
|||
pub next_weapon: VirtualKeyCode,
|
||||
pub jump: VirtualKeyCode,
|
||||
pub shoot: VirtualKeyCode,
|
||||
pub skip: VirtualKeyCode,
|
||||
pub inventory: VirtualKeyCode,
|
||||
pub map: VirtualKeyCode,
|
||||
}
|
||||
|
@ -86,6 +87,7 @@ fn p1_default_keymap() -> PlayerKeyMap {
|
|||
next_weapon: VirtualKeyCode::S,
|
||||
jump: VirtualKeyCode::Z,
|
||||
shoot: VirtualKeyCode::X,
|
||||
skip: VirtualKeyCode::LControl,
|
||||
inventory: VirtualKeyCode::Q,
|
||||
map: VirtualKeyCode::W,
|
||||
}
|
||||
|
@ -101,6 +103,7 @@ fn p2_default_keymap() -> PlayerKeyMap {
|
|||
next_weapon: VirtualKeyCode::H,
|
||||
jump: VirtualKeyCode::B,
|
||||
shoot: VirtualKeyCode::N,
|
||||
skip: VirtualKeyCode::RControl,
|
||||
inventory: VirtualKeyCode::T,
|
||||
map: VirtualKeyCode::Y,
|
||||
}
|
||||
|
|
|
@ -564,7 +564,9 @@ impl TextScriptVM {
|
|||
}
|
||||
|
||||
if remaining > 1 {
|
||||
let ticks = if state.textscript_vm.flags.fast() {
|
||||
let ticks = if state.textscript_vm.flags.fast()
|
||||
|| game_scene.player1.controller.skip()
|
||||
|| game_scene.player2.controller.skip() {
|
||||
0
|
||||
} else if game_scene.player1.controller.jump()
|
||||
|| game_scene.player1.controller.shoot()
|
||||
|
@ -633,8 +635,10 @@ impl TextScriptVM {
|
|||
TextScriptExecutionState::WaitInput(event, ip) => {
|
||||
if game_scene.player1.controller.trigger_jump()
|
||||
|| game_scene.player1.controller.trigger_shoot()
|
||||
|| game_scene.player1.controller.skip()
|
||||
|| game_scene.player2.controller.trigger_jump()
|
||||
|| game_scene.player2.controller.trigger_shoot() {
|
||||
|| game_scene.player2.controller.trigger_shoot()
|
||||
|| game_scene.player2.controller.skip() {
|
||||
state.textscript_vm.state = TextScriptExecutionState::Running(event, ip);
|
||||
}
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue