// Update is called once per frame void Update() { if (inMenu && Input.GetKeyDown(KeyCode.Escape) && (menuState == MenuState.selectGameType || menuState == MenuState.loadGame)) { menuState = MenuState.main; updateNeeded = true; button1.selected = true; button2.selected = false; button3.selected = false; button4.selected = false; button5.selected = false; } else if (inMenu && Input.GetKeyDown(KeyCode.Escape) && (menuState == MenuState.selectPVA || menuState == MenuState.selectAVA1)) { menuState = MenuState.selectGameType; updateNeeded = true; button1.selected = true; button2.selected = false; button3.selected = false; button4.selected = false; button5.selected = false; } else if (inMenu && Input.GetKeyDown(KeyCode.Escape) && (menuState == MenuState.selectAVA2)) { menuState = MenuState.selectAVA1; updateNeeded = true; button1.selected = true; button2.selected = false; button3.selected = false; button4.selected = false; button5.selected = false; } else if (inMenu && Input.GetKeyDown(KeyCode.Escape)) { Application.Quit(); } if (inMenu) { switch (menuState) { case MenuState.main: if (updateNeeded) { titleManager.enabled = true; version.CreateButton(0.5F, 0.1F, "Reversi V0.1a, ©1988 Samuel Kinnett Software"); button1.CreateButton(0.5F, 0.5F, "Start Game"); button2.CreateButton(0.5F, 0.4F, "Load Game"); button3.CreateButton(0.5F, 0.3F, "Exit Game"); button4.enabled = false; button5.enabled = false; menuOptions1 = MenuOptions1.start; button1.selected = true; button2.selected = false; button3.selected = false; button4.selected = false; button5.selected = false; pageViewer.enabled = false; updateNeeded = false; } break; case MenuState.selectGameType: if (updateNeeded) { titleManager.enabled = false; version.enabled = false; button1.CreateButton(0.5F, 0.6F, "Player v Player"); button2.CreateButton(0.5F, 0.5F, "Player v AI"); button3.CreateButton(0.5F, 0.4F, "AI v AI"); button4.enabled = false; button5.enabled = false; menuOptions2 = MenuOptions2.pvp; button1.selected = true; button2.selected = false; button3.selected = false; button4.selected = false; button5.selected = false; updateNeeded = false; } break; case MenuState.loadGame: if (updateNeeded) { titleManager.enabled = false; version.enabled = false; string output; GameInfo[] names = fileManager.GetLogNames(currentLoadPage); button1.enabled = false; button2.enabled = false; button3.enabled = false; button4.enabled = false; button5.enabled = false; if (names [0].gameType > -1) { output = ReturnGameInfo(names [0]); button1.CreateButton(0.5F, 0.65F, output); button1.SetScale(0.25F); } if (names [1].gameType > -1) { output = ReturnGameInfo(names [1]); button2.CreateButton(0.5F, 0.55F, output); button2.SetScale(0.25F); } if (names [2].gameType > -1) { output = ReturnGameInfo(names [2]); button3.CreateButton(0.5F, 0.45F, output); button3.SetScale(0.25F); } if (names [3].gameType > -1) { output = ReturnGameInfo(names [3]); button4.CreateButton(0.5F, 0.35F, output); button4.SetScale(0.25F); } if (names [4].gameType > -1) { output = ReturnGameInfo(names [4]); button5.CreateButton(0.5F, 0.25F, output); button5.SetScale(0.25F); } menuOptions3 = MenuOptions3.load1; button1.selected = true; button2.selected = false; button3.selected = false; button4.selected = false; button5.selected = false; highestLoadPage = fileManager.GetNumberOfPages(); pageViewer.CreateButton(0.5F, 0.1F, "Page " + (currentLoadPage + 1) + " / " + (highestLoadPage + 1)); updateNeeded = false; } break; case MenuState.selectPVA: if (updateNeeded) { titleManager.enabled = false; version.enabled = false; button1.CreateButton(0.5F, 0.8F, "Select Opponent"); button2.CreateButton(0.5F, 0.6F, "Greedy AI"); button3.CreateButton(0.5F, 0.5F, "Monte-Carlo AI"); button4.enabled = false; button5.enabled = false; aiChoice1 = AiChoiceOptions.GreedyAI; button1.selected = false; button2.selected = true; button3.selected = false; button4.selected = false; button5.selected = false; updateNeeded = false; } break; case MenuState.selectAVA1: if (updateNeeded) { titleManager.enabled = false; version.enabled = false; button1.CreateButton(0.5F, 0.8F, "Select First AI"); button2.CreateButton(0.5F, 0.6F, "Greedy AI"); button3.CreateButton(0.5F, 0.5F, "Monte-Carlo AI"); button4.enabled = false; button5.enabled = false; aiChoice1 = AiChoiceOptions.GreedyAI; button1.selected = false; button2.selected = true; button3.selected = false; button4.selected = false; button5.selected = false; updateNeeded = false; } break; case MenuState.selectAVA2: if (updateNeeded) { titleManager.enabled = false; version.enabled = false; button1.CreateButton(0.5F, 0.8F, "Select Second AI"); button2.CreateButton(0.5F, 0.6F, "Greedy AI"); button3.CreateButton(0.5F, 0.5F, "Monte-Carlo AI"); button4.enabled = false; button5.enabled = false; aiChoice2 = AiChoiceOptions.GreedyAI; button1.selected = false; button2.selected = true; button3.selected = false; button4.selected = false; button5.selected = false; updateNeeded = false; } break; } } else { if (Input.GetKeyDown(KeyCode.Escape) && boardBehaviour.winner != 0) { inMenu = true; endGameInfoController.enabled = false; GoToMenu(); } else { //TODO: Add code for a pause menu } } /* * if (start.clicked) { * start.clickHandled = true; * menuState = MenuState.selectGameType; * updateNeeded = true; * } * if (exit.clicked) { * exit.clickHandled = true; * Application.Quit (); * } */ if (inMenu && (Input.GetKeyDown(KeyCode.DownArrow) || Input.GetKeyDown(KeyCode.S))) { switch (menuState) { case MenuState.main: switch (menuOptions1) { case MenuOptions1.start: menuOptions1 = MenuOptions1.load; button1.selected = false; button2.selected = true; button3.selected = false; button4.selected = false; button5.selected = false; break; case MenuOptions1.load: menuOptions1 = MenuOptions1.exit; button1.selected = false; button2.selected = false; button3.selected = true; button4.selected = false; button5.selected = false; break; } break; case MenuState.selectGameType: switch (menuOptions2) { case MenuOptions2.pvp: menuOptions2 = MenuOptions2.pva; button1.selected = false; button2.selected = true; button3.selected = false; button4.selected = false; button5.selected = false; break; case MenuOptions2.pva: menuOptions2 = MenuOptions2.ava; button1.selected = false; button2.selected = false; button3.selected = true; button4.selected = false; button5.selected = false; break; } break; case MenuState.loadGame: switch (menuOptions3) { case MenuOptions3.load1: if (button2.enabled) { menuOptions3 = MenuOptions3.load2; button1.selected = false; button2.selected = true; button3.selected = false; button4.selected = false; button5.selected = false; } break; case MenuOptions3.load2: if (button3.enabled) { menuOptions3 = MenuOptions3.load3; button1.selected = false; button2.selected = false; button3.selected = true; button4.selected = false; button5.selected = false; } break; case MenuOptions3.load3: if (button4.enabled) { menuOptions3 = MenuOptions3.load4; button1.selected = false; button2.selected = false; button3.selected = false; button4.selected = true; button5.selected = false; } break; case MenuOptions3.load4: if (button5.enabled) { menuOptions3 = MenuOptions3.load5; button1.selected = false; button2.selected = false; button3.selected = false; button4.selected = false; button5.selected = true; } break; } break; case MenuState.selectPVA: switch (aiChoice1) { case AiChoiceOptions.GreedyAI: aiChoice1 = AiChoiceOptions.MonteCarloAI; button1.selected = false; button2.selected = false; button3.selected = true; button4.selected = false; button5.selected = false; break; } break; case MenuState.selectAVA1: switch (aiChoice1) { case AiChoiceOptions.GreedyAI: aiChoice1 = AiChoiceOptions.MonteCarloAI; button1.selected = false; button2.selected = false; button3.selected = true; button4.selected = false; button5.selected = false; break; } break; case MenuState.selectAVA2: switch (aiChoice2) { case AiChoiceOptions.GreedyAI: aiChoice2 = AiChoiceOptions.MonteCarloAI; button1.selected = false; button2.selected = false; button3.selected = true; button4.selected = false; button5.selected = false; break; } break; } } if (inMenu && (Input.GetKeyDown(KeyCode.UpArrow) || Input.GetKeyDown(KeyCode.W))) { switch (menuState) { case MenuState.main: switch (menuOptions1) { case MenuOptions1.load: menuOptions1 = MenuOptions1.start; button1.selected = true; button2.selected = false; button3.selected = false; button4.selected = false; button5.selected = false; break; case MenuOptions1.exit: menuOptions1 = MenuOptions1.load; button1.selected = false; button2.selected = true; button3.selected = false; button4.selected = false; button5.selected = false; break; } break; case MenuState.selectGameType: switch (menuOptions2) { case MenuOptions2.pva: menuOptions2 = MenuOptions2.pvp; button1.selected = true; button2.selected = false; button3.selected = false; button4.selected = false; button5.selected = false; break; case MenuOptions2.ava: menuOptions2 = MenuOptions2.pva; button1.selected = false; button2.selected = true; button3.selected = false; button4.selected = false; button5.selected = false; break; } break; case MenuState.loadGame: switch (menuOptions3) { case MenuOptions3.load2: if (button1.enabled) { menuOptions3 = MenuOptions3.load1; button1.selected = true; button2.selected = false; button3.selected = false; button4.selected = false; button5.selected = false; } break; case MenuOptions3.load3: if (button2.enabled) { menuOptions3 = MenuOptions3.load2; button1.selected = false; button2.selected = true; button3.selected = false; button4.selected = false; button5.selected = false; } break; case MenuOptions3.load4: if (button3.enabled) { menuOptions3 = MenuOptions3.load3; button1.selected = false; button2.selected = false; button3.selected = true; button4.selected = false; button5.selected = false; } break; case MenuOptions3.load5: if (button4.enabled) { menuOptions3 = MenuOptions3.load4; button1.selected = false; button2.selected = false; button3.selected = false; button4.selected = true; button5.selected = false; } break; } break; case MenuState.selectPVA: switch (aiChoice1) { case AiChoiceOptions.MonteCarloAI: aiChoice1 = AiChoiceOptions.GreedyAI; button1.selected = false; button2.selected = true; button3.selected = false; button4.selected = false; button5.selected = false; break; } break; case MenuState.selectAVA1: switch (aiChoice1) { case AiChoiceOptions.MonteCarloAI: aiChoice1 = AiChoiceOptions.GreedyAI; button1.selected = false; button2.selected = true; button3.selected = false; button4.selected = false; button5.selected = false; break; } break; case MenuState.selectAVA2: switch (aiChoice2) { case AiChoiceOptions.MonteCarloAI: aiChoice2 = AiChoiceOptions.GreedyAI; button1.selected = false; button2.selected = true; button3.selected = false; button4.selected = false; button5.selected = false; break; } break; } } if (inMenu && (Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.Space))) { switch (menuState) { case MenuState.main: switch (menuOptions1) { case MenuOptions1.start: button1.selected = false; menuState = MenuState.selectGameType; updateNeeded = true; break; case MenuOptions1.load: button2.selected = false; menuState = MenuState.loadGame; updateNeeded = true; break; case MenuOptions1.exit: Application.Quit(); break; } break; case MenuState.selectGameType: switch (menuOptions2) { case MenuOptions2.pvp: StartGame(0); break; case MenuOptions2.pva: menuState = MenuState.selectPVA; updateNeeded = true; //StartGame (1); break; case MenuOptions2.ava: menuState = MenuState.selectAVA1; updateNeeded = true; //StartGame (2); break; } break; case MenuState.loadGame: switch (menuOptions3) { case MenuOptions3.load1: fileManager.OpenLog(currentLoadPage * 5); StartGame(3); break; case MenuOptions3.load2: fileManager.OpenLog((currentLoadPage * 5) + 1); StartGame(3); break; case MenuOptions3.load3: fileManager.OpenLog((currentLoadPage * 5) + 2); StartGame(3); break; case MenuOptions3.load4: fileManager.OpenLog((currentLoadPage * 5) + 3); StartGame(3); break; case MenuOptions3.load5: fileManager.OpenLog((currentLoadPage * 5) + 4); StartGame(3); break; } break; case MenuState.selectPVA: StartGame(1, (int)aiChoice1 + 1); break; case MenuState.selectAVA1: menuState = MenuState.selectAVA2; updateNeeded = true; break; case MenuState.selectAVA2: StartGame(2, (int)aiChoice1 + 1, (int)aiChoice2 + 1); break; } } if (inMenu && (Input.GetKeyDown(KeyCode.LeftArrow) || Input.GetKeyDown(KeyCode.A)) && menuState == MenuState.loadGame) { if (currentLoadPage > 0) { currentLoadPage--; updateNeeded = true; } } if (inMenu && (Input.GetKeyDown(KeyCode.RightArrow) || Input.GetKeyDown(KeyCode.D)) && menuState == MenuState.loadGame) { if (currentLoadPage < highestLoadPage) { currentLoadPage++; updateNeeded = true; } } }
// Update is called once per frame void Update() { if (gameLoaded) { replayInfo.CreateButton(0.8F, 0.9F, ReturnGameInfo()); // Go back a turn if the left arrow or the A key are pressed. if (Input.GetKeyDown(KeyCode.LeftArrow) || Input.GetKeyDown(KeyCode.A)) { if (currentTurn > 0) { currentTurn--; SetTurn(currentTurn); } } //Move forward a turn if the right arrow or the D key are pressed. if (Input.GetKeyDown(KeyCode.RightArrow) || Input.GetKeyDown(KeyCode.D)) { if (currentTurn < maxTurn) { currentTurn++; SetTurn(currentTurn); } } //Move forward 10 turns if the up arrow or the W key are pressed. if (Input.GetKeyDown(KeyCode.UpArrow) || Input.GetKeyDown(KeyCode.W)) { if ((currentTurn + 10) < maxTurn) { currentTurn += 10; SetTurn(currentTurn); } else { currentTurn = maxTurn; SetTurn(currentTurn); } } //Move backwards 10 turns if the down arrow or the S key are pressed. if (Input.GetKeyDown(KeyCode.DownArrow) || Input.GetKeyDown(KeyCode.S)) { if ((currentTurn - 10) > 0) { currentTurn -= 10; SetTurn(currentTurn); } else { currentTurn = 0; SetTurn(currentTurn); } } if (Input.GetKeyDown(KeyCode.Escape)) { gameLoaded = false; menuManager = MenuController.GetComponent <MenuManager> (); menuManager.GoToMenu(); } } else { replayInfo.enabled = false; } }