I’ve been taking a Unity/C# course and there’s one thing that’s starting to bug me a bit (no pun intended).
Under the void update he has ‘States’ in a particular order. But further down, they do not follow the order as written above. Is this a big deal? Shouldn’t they continue the order as they are first written, to be cleaner/more readable? Or is my ocd just flaring up, and I shouldn’t be worried about it.
void Update () {
- if (Input.GetKeyDown(KeyCode.Space)) {
- text.text = "You are in a prison cell, and you want to escape. There are " +
- "some dirty sheets on the bed, a mirror on the wall, and the door " +
- "is locked from the outside.\n\n" +
- "Press S to view Sheets, M to view Mirror and L to view Lock" ;
- }
+ print (myState);
+ if (myState == States.cell) {state_cell();}
+ else if (myState == States.sheets_0) {state_sheets_0();}
+ else if (myState == States.sheets_1) {state_sheets_1();}
+ else if (myState == States.lock_0) {state_lock_0();}
+ else if (myState == States.lock_1) {state_lock_1();}
+ else if (myState == States.mirror) {state_mirror();}
+ else if (myState == States.cell_mirror) {state_cell_mirror();}
+ else if (myState == States.freedom) {state_freedom();}
}
+
+ void state_cell () {
+ text.text = "You are in a prison cell, and you want to escape. There are " +
+ "some dirty sheets on the bed, a mirror on the wall, and the door " +
+ "is locked from the outside.\n\n" +
+ "Press S to view Sheets, M to view Mirror and L to view Lock" ;
+ if (Input.GetKeyDown(KeyCode.S)) {myState = States.sheets_0;}
+ else if (Input.GetKeyDown(KeyCode.M)) {myState = States.mirror;}
+ else if (Input.GetKeyDown(KeyCode.L)) {myState = States.lock_0;}
+ }
+
+ void state_mirror() {
+ text.text = "The dirty old mirror on the wall seems loose.\n\n" +
+ "Press T to Take the mirror, or R to Return to cell" ;
+ if (Input.GetKeyDown(KeyCode.T)) {myState = States.cell_mirror;}
+ else if (Input.GetKeyDown(KeyCode.R)) {myState = States.cell;}
+ }
+
+ void state_cell_mirror() {
+ text.text = "You are still in your cell, and you STILL want to escape! There are " +
+ "some dirty sheets on the bed, a mark where the mirror was, " +
+ "and that pesky door is still there, and firmly locked!\n\n" +
+ "Press S to view Sheets, or L to view Lock" ;
+ if (Input.GetKeyDown(KeyCode.S)) {myState = States.sheets_1;}
+ else if (Input.GetKeyDown(KeyCode.L)) {myState = States.lock_1;}
+ }
+
+ void state_sheets_0 () {
+ text.text = "You can't believe you sleep in these things. Surely it's " +
+ "time somebody changed them. The pleasures of prison life " +
+ "I guess!\n\n" +
+ "Press R to Return to roaming your cell" ;
+ if (Input.GetKeyDown(KeyCode.R)) {myState = States.cell;}
+ }
+
+ void state_sheets_1() {
+ text.text = "Holding a mirror in your hand doesn't make the sheets look " +
+ "any better.\n\n" +
+ "Press R to Return to roaming your cell" ;
+ if (Input.GetKeyDown(KeyCode.R)) {myState = States.cell_mirror;}
+ }
+
+ void state_lock_0() {
+ text.text = "This is one of those button locks. You have no idea what the " +
+ "combination is. You wish you could somehow see where the dirty " +
+ "fingerprints were, maybe that would help.\n\n" +
+ "Press R to Return to roaming your cell" ;
+ if (Input.GetKeyDown(KeyCode.R)) {myState = States.cell;}
+ }
+
+ void state_lock_1() {
+ text.text = "You carefully put the mirror through the bars, and turn it round " +
+ "so you can see the lock. You can just make out fingerprints around " +
+ "the buttons. You press the dirty buttons, and hear a click.\n\n" +
+ "Press O to Open, or R to Return to your cell" ;
+ if (Input.GetKeyDown(KeyCode.O)) {myState = States.freedom;}
+ else if (Input.GetKeyDown(KeyCode.R)) {myState = States.cell_mirror;}
+ }
Thanks for any and all input/tips.