File tree 6 files changed +30
-9
lines changed
6 files changed +30
-9
lines changed Original file line number Diff line number Diff line change @@ -40,6 +40,9 @@ void Start()
40
40
continue ;
41
41
}
42
42
43
+ //Inject a reference to this script into all menus
44
+ menu . InitState ( menuController : this ) ;
45
+
43
46
//Check if this key already exists, because it means we have forgotten to give a menu its unique key
44
47
if ( menuDictionary . ContainsKey ( menu . state ) )
45
48
{
@@ -51,12 +54,6 @@ void Start()
51
54
menuDictionary . Add ( menu . state , menu ) ;
52
55
}
53
56
54
- //Inject a reference to this script into all menus
55
- foreach ( MenuState state in menuDictionary . Keys )
56
- {
57
- menuDictionary [ state ] . InitState ( menuController : this ) ;
58
- }
59
-
60
57
//Deactivate all menus
61
58
foreach ( MenuState state in menuDictionary . Keys )
62
59
{
Original file line number Diff line number Diff line change @@ -7,5 +7,11 @@ namespace State.Menu
7
7
public class GameMenu : _MenuState
8
8
{
9
9
//Specific for this state
10
+ public override void InitState ( MenuController menuController )
11
+ {
12
+ base . InitState ( menuController ) ;
13
+
14
+ state = MenuController . MenuState . Game ;
15
+ }
10
16
}
11
17
}
Original file line number Diff line number Diff line change @@ -7,5 +7,11 @@ namespace State.Menu
7
7
public class HelpMenu : _MenuState
8
8
{
9
9
//Specific for this state
10
+ public override void InitState ( MenuController menuController )
11
+ {
12
+ base . InitState ( menuController ) ;
13
+
14
+ state = MenuController . MenuState . Help ;
15
+ }
10
16
}
11
17
}
Original file line number Diff line number Diff line change @@ -7,6 +7,13 @@ namespace State.Menu
7
7
public class MainMenu : _MenuState
8
8
{
9
9
//Specific for this state
10
+ public override void InitState ( MenuController menuController )
11
+ {
12
+ base . InitState ( menuController ) ;
13
+
14
+ state = MenuController . MenuState . Main ;
15
+ }
16
+
10
17
public void JumpToSettings ( )
11
18
{
12
19
menuController . SetActiveState ( MenuController . MenuState . Settings ) ;
Original file line number Diff line number Diff line change @@ -7,6 +7,11 @@ namespace State.Menu
7
7
public class SettingsMenu : _MenuState
8
8
{
9
9
//Specific for this state
10
+ public override void InitState ( MenuController menuController )
11
+ {
12
+ base . InitState ( menuController ) ;
10
13
14
+ state = MenuController . MenuState . Settings ;
15
+ }
11
16
}
12
17
}
Original file line number Diff line number Diff line change @@ -7,15 +7,15 @@ namespace State.Menu
7
7
//This is the parent class to all states
8
8
public class _MenuState : MonoBehaviour
9
9
{
10
- //Which state is this? You have to manually set it in the inspector (you could also set it from the child)
11
- public MenuController . MenuState state ;
10
+ //Which state is this?
11
+ public MenuController . MenuState state { get ; protected set ; }
12
12
13
13
14
14
protected MenuController menuController ;
15
15
16
16
17
17
//Dependency injection of the MenuController to make it easier to reference it from each menu
18
- public void InitState ( MenuController menuController )
18
+ public virtual void InitState ( MenuController menuController )
19
19
{
20
20
this . menuController = menuController ;
21
21
}
You can’t perform that action at this time.
0 commit comments