Mercurial repo for silny-kombat project
Révision | e4cdb3f1a39dcd049d92c3437f520033e008ad93 (tree) |
---|---|
l'heure | 2022-04-06 03:17:46 |
Auteur | Piotr Kozka <piotoor@gmai...> |
Commiter | Piotr Kozka |
Merged feature branch.
@@ -18,66 +18,24 @@ | ||
18 | 18 | } |
19 | 19 | |
20 | 20 | pub struct StateMachineWrapper { |
21 | - machine: StateMachine<CharacterFSM>, | |
22 | - num_state: i32 | |
21 | + machine: StateMachine<CharacterFSM> | |
23 | 22 | } |
24 | 23 | |
25 | 24 | impl StateMachineWrapper { |
26 | 25 | pub fn new() -> StateMachineWrapper { |
27 | 26 | StateMachineWrapper { |
28 | - machine: StateMachine::new(), | |
29 | - num_state: 0 | |
27 | + machine: StateMachine::new() | |
30 | 28 | } |
31 | 29 | } |
32 | 30 | |
33 | - // pub fn get_state(&self) -> &CharacterFSMState { | |
34 | - // &self.machine.state() | |
35 | - // } | |
36 | - | |
37 | - pub fn get_num_state(&self) -> i32 { | |
38 | - self.num_state | |
31 | + pub fn get_state(&self) -> &CharacterFSMState { | |
32 | + &self.machine.state() | |
39 | 33 | } |
40 | - pub fn trigger(&mut self, signal: i32) -> i32 { | |
41 | - let output: Result<Option<CharacterFSMOutput>, TransitionImpossibleError>; | |
42 | - let mut ans = 1; | |
43 | - if signal == 1 { | |
44 | - output = self.machine.consume(&CharacterFSMInput::BackPressed); | |
45 | - match output { | |
46 | - Ok(v) => match v { | |
47 | - Some(CharacterFSMOutput::Back) => ans = 1, | |
48 | - Some(CharacterFSMOutput::Front) => ans = 2, | |
49 | - Some(CharacterFSMOutput::Idle) => ans = 0, | |
50 | - None => println!("None"), | |
51 | - } | |
52 | - Err(e) => println!("State machine error back pressed {}", e), | |
53 | - } | |
54 | - } else if signal == 2 { | |
55 | - output = self.machine.consume(&CharacterFSMInput::FrontPressed); | |
56 | - match output { | |
57 | - Ok(v) => match v { | |
58 | - Some(CharacterFSMOutput::Back) => ans = 1, | |
59 | - Some(CharacterFSMOutput::Front) => ans = 2, | |
60 | - Some(CharacterFSMOutput::Idle) => ans = 0, | |
61 | - None => println!("None"), | |
62 | - } | |
63 | - Err(e) => println!("State machine error front pressed {}", e), | |
64 | - } | |
65 | - } else { | |
66 | - output = self.machine.consume(&CharacterFSMInput::Released); | |
67 | - match output { | |
68 | - Ok(v) => match v { | |
69 | - Some(CharacterFSMOutput::Back) => ans = 1, | |
70 | - Some(CharacterFSMOutput::Front) => ans = 2, | |
71 | - Some(CharacterFSMOutput::Idle) => ans = 0, | |
72 | - None => println!("None"), | |
73 | - } | |
74 | - Err(e) => println!("State machine error released {}", e), | |
75 | - } | |
76 | - } | |
77 | - println!("ans = {}", ans); | |
78 | - self.num_state = ans; | |
79 | - ans | |
34 | + | |
35 | + pub fn trigger_(&mut self, signal: CharacterFSMInput) -> Result<Option<CharacterFSMOutput>, TransitionImpossibleError> { | |
36 | + self.machine.consume(&signal) | |
80 | 37 | } |
81 | 38 | |
82 | 39 | |
40 | + | |
83 | 41 | } |
@@ -36,13 +36,13 @@ | ||
36 | 36 | } |
37 | 37 | |
38 | 38 | fn move_left(&mut self) { |
39 | - let v = Vector2f::new(-1.0, 0.0); | |
39 | + let v = Vector2f::new(-10.0, 0.0); | |
40 | 40 | self.sprite.move_(v); |
41 | 41 | } |
42 | 42 | |
43 | 43 | |
44 | 44 | pub fn move_right(&mut self) { |
45 | - let v = Vector2f::new(1.0, 0.0); | |
45 | + let v = Vector2f::new(10.0, 0.0); | |
46 | 46 | self.sprite.move_(v); |
47 | 47 | } |
48 | 48 |
@@ -55,33 +55,33 @@ | ||
55 | 55 | |
56 | 56 | if state == States::Idle as i32 |
57 | 57 | { |
58 | - if self.counter % 10 == 0 | |
58 | + if self.counter % 4 == 0 | |
59 | 59 | { |
60 | 60 | self.sprite.set_texture(&self.textures[1], true); |
61 | 61 | } |
62 | - if self.counter % 20 == 0 | |
62 | + if self.counter % 8 == 0 | |
63 | 63 | { |
64 | 64 | self.sprite.set_texture(&self.textures[0], true); |
65 | 65 | } |
66 | 66 | } else if state == States::MovingRight as i32 |
67 | 67 | { |
68 | 68 | self.move_right(); |
69 | - if self.counter % 10 == 0 | |
69 | + if self.counter % 4 == 0 | |
70 | 70 | { |
71 | 71 | self.sprite.set_texture(&self.textures[2], true); |
72 | 72 | } |
73 | - if self.counter % 20 == 0 | |
73 | + if self.counter % 8 == 0 | |
74 | 74 | { |
75 | 75 | self.sprite.set_texture(&self.textures[3], true); |
76 | 76 | } |
77 | 77 | } else if state == States::MovingLeft as i32 |
78 | 78 | { |
79 | 79 | self.move_left(); |
80 | - if self.counter % 10 == 0 | |
80 | + if self.counter % 4 == 0 | |
81 | 81 | { |
82 | 82 | self.sprite.set_texture(&self.textures[3], true); |
83 | 83 | } |
84 | - if self.counter % 20 == 0 | |
84 | + if self.counter % 8 == 0 | |
85 | 85 | { |
86 | 86 | self.sprite.set_texture(&self.textures[2], true); |
87 | 87 | } |