Mercurial repo for silny-kombat project
Revision | ed3e954454a2603ff3b717e825c569c8a2f7c2aa (tree) |
---|---|
Time | 2022-02-10 04:32:59 |
Author | SecT |
Commiter | SecT |
Refactoring - enum for key signals
@@ -19,7 +19,7 @@ | ||
19 | 19 | system::Vector2f, |
20 | 20 | SfBox |
21 | 21 | }; |
22 | -use crate::key_processing::KeyProcessor; | |
22 | +use crate::key_processing::{KeyProcessor, SignalForSM, KeyEvents}; | |
23 | 23 | |
24 | 24 | pub struct Controller<'a> { |
25 | 25 | characterA : Option<&'a Character<'a>>, |
@@ -208,7 +208,10 @@ | ||
208 | 208 | |
209 | 209 | pub fn process_key_result_for_character(key_processor:&key_processing::KeyProcessor, character: & mut Character, key_result:i32) |
210 | 210 | { |
211 | - if key_result == 1 || key_result == 2 || key_result == 3 { | |
211 | + if key_result == KeyEvents::Char_Left as i32 | |
212 | + || key_result == KeyEvents::Char_Right as i32 | |
213 | + || key_result == KeyEvents::Char_Key_Release as i32 | |
214 | + { | |
212 | 215 | character.trigger(key_processor.process_key(key_result)); |
213 | 216 | } |
214 | 217 | } |
@@ -7,15 +7,18 @@ | ||
7 | 7 | |
8 | 8 | pub const KEY_BASE : i32 = 10; |
9 | 9 | |
10 | -enum KeyEvents { | |
10 | +pub enum KeyEvents { | |
11 | 11 | Escape, |
12 | 12 | Char_Left, |
13 | 13 | Char_Right, |
14 | 14 | Char_Key_Release |
15 | 15 | } |
16 | 16 | |
17 | -enum SignalForSM { | |
18 | - | |
17 | +pub enum SignalForSM { | |
18 | + None, | |
19 | + MoveToRight, | |
20 | + MoveToLeft, | |
21 | + KeyRelease | |
19 | 22 | } |
20 | 23 | |
21 | 24 | pub struct KeyProcessor { |
@@ -36,16 +39,16 @@ | ||
36 | 39 | pub fn process_key(&self, key_result: i32) -> i32 { |
37 | 40 | if key_result == KeyEvents::Char_Left as i32 |
38 | 41 | { |
39 | - return 2; | |
42 | + return SignalForSM::MoveToLeft as i32; | |
40 | 43 | |
41 | 44 | |
42 | 45 | } else if key_result == KeyEvents::Char_Right as i32 |
43 | 46 | { |
44 | - return 1; | |
47 | + return SignalForSM::MoveToRight as i32; | |
45 | 48 | |
46 | 49 | } else if key_result == KeyEvents::Char_Key_Release as i32 |
47 | 50 | { |
48 | - return 3; | |
51 | + return SignalForSM::KeyRelease as i32; | |
49 | 52 | } |
50 | 53 | return 0 |
51 | 54 | } |
@@ -7,6 +7,10 @@ | ||
7 | 7 | SfBox |
8 | 8 | }; |
9 | 9 | |
10 | + enum States { | |
11 | + Idle | |
12 | + } | |
13 | + | |
10 | 14 | pub struct CharacterSprite<'a> { |
11 | 15 | //sprite : 'a mut Sprite<'a> |
12 | 16 | pub sprite : Sprite<'a>, |
@@ -47,7 +51,7 @@ | ||
47 | 51 | self.current_state = state; |
48 | 52 | } |
49 | 53 | |
50 | - if state == 0 | |
54 | + if state == States::Idle as i32 | |
51 | 55 | { |
52 | 56 | if self.counter % 10 == 0 |
53 | 57 | { |