/// <summary> /// Game menu RESTART functionalities /// </summary> /// YES BUTTON public void RestartYes() { MainGameLogic.GetMainCamera().GetComponent <MainMenuHandler>().StartGame(); gameMenuCanvas.SetActive(false); confirmationCanvas.SetActive(false); MainGameLogic.SetCurrentActiveElement(MainGameLogic.CurrentActiveElement.MAIN_GAME); }
internal static void StartGame() { MainGameLogic.GetMainCamera().GetComponent <UIManager>().confirmationCanvas.SetActive(false); MainGameLogic.GetMainCamera().GetComponent <UIManager>().finishCanvas.SetActive(false); MainGameLogic.GetMainCamera().GetComponent <UIManager>().mainMenuCanvas.SetActive(true); MainGameLogic.GetMainCamera().GetComponent <UIManager>().gameMenuCanvas.SetActive(false); MainGameLogic.GetMainCamera().GetComponent <UIManager>().mainGameUI.SetActive(false); }
internal void OpenFinishCanvas() { if (MainGameLogic.GetMainCamera().GetComponent <CubeControl>().GetMagicCubeManager().IsCurrentActionDone()) { finishCanvas.GetComponent <FinishCanvasHandler>().Init(CloseFinishCanvas, FinishRestart, FinishMainMenu); finishCanvas.SetActive(true); MainGameLogic.SetCurrentActiveElement(MainGameLogic.CurrentActiveElement.FINISH_CANVAS); } }
internal void OpenGameMenu() { if (MainGameLogic.GetMainCamera().GetComponent <CubeControl>().GetMagicCubeManager().IsCurrentActionDone()) { gameMenuCanvas.GetComponent <GameMenuBehaviour>().Init(CloseGameMenu, ShowHideGameTimer, RestartGame, MainMenuGame); gameMenuCanvas.SetActive(true); MainGameLogic.SetCurrentActiveElement(MainGameLogic.CurrentActiveElement.GAME_MENU); } }
public void ChangeValue(float value) { sliderText.text = Mathf.RoundToInt(value).ToString(); if (cubeSize != Mathf.RoundToInt(value)) { MainGameLogic.GetMainCamera().GetComponent <CubeControl>().CreateMagicCube(Mathf.RoundToInt(cubeSizeSlider.value)); } cubeSize = Mathf.RoundToInt(value); }
public void StartGame() { MainGameLogic.GetMainCamera().GetComponent <CubeControl>().CreateMagicCube(Mathf.RoundToInt(cubeSizeSlider.value)); MainGameLogic.SetCurrentActiveElement(MainGameLogic.CurrentActiveElement.MAIN_GAME); MainGameLogic.LinkMagicCubeManagerAndUI(MainGameLogic.GetMainCamera().GetComponent <CubeControl>().GetMagicCubeManager(), MainGameLogic.GetMainCamera().GetComponent <UIManager>().GetMainGameUI()); MainGameLogic.LinkMagicCubeManagerAndFinish(MainGameLogic.GetMainCamera().GetComponent <CubeControl>().GetMagicCubeManager(), MainGameLogic.GetMainCamera().GetComponent <UIManager>().GetFinishCanvas()); MainGameLogic.GetMainCamera().GetComponent <UIManager>().MainMenuToGame(); MainGameLogic.GetMainCamera().GetComponent <CubeControl>().GetMagicCubeManager().InitRandomMoves(2.7f); }
/// <summary> /// Finish MAIN MENU functionalities /// </summary> /// YES BUTTON public void FinishMainMenuYes() { finishCanvas.SetActive(false); confirmationCanvas.SetActive(false); gameMenuCanvas.SetActive(false); MainGameLogic.GetMainCamera().GetComponent <MainMenuHandler>().Reset(); mainMenuCanvas.SetActive(true); mainGameUI.SetActive(false); MainGameLogic.SetCurrentActiveElement(MainGameLogic.CurrentActiveElement.MAIN_MENU); }
/// <summary> /// Game menu MAIN MENU functionalities /// </summary> /// YES BUTTON public void MainMenuYes() { confirmationCanvas.SetActive(false); gameMenuCanvas.SetActive(false); MainGameLogic.GetMainCamera().GetComponent <CubeControl>().GetMagicCubeManager().Save(); MainGameLogic.GetMainCamera().GetComponent <MainMenuHandler>().Reset(); mainMenuCanvas.SetActive(true); mainGameUI.SetActive(false); MainGameLogic.SetCurrentActiveElement(MainGameLogic.CurrentActiveElement.MAIN_MENU); }
internal Collider QueryMagicCubeFace() { RaycastHit hit; Ray ray = MainGameLogic.GetMainCamera().ScreenPointToRay(Input.mousePosition); int layerMask = LayerMask.GetMask("MainGameLayer"); if (Physics.Raycast(ray, out hit, Mathf.Infinity, layerMask)) { return(hit.collider); } return(null); }
public GameObject QueryFirstCubeTile() { RaycastHit hit; Ray ray = MainGameLogic.GetMainCamera().ScreenPointToRay(Input.mousePosition); int layerMask = LayerMask.GetMask("CubeTileLayer"); if (Physics.Raycast(ray, out hit, Mathf.Infinity, layerMask)) { return(hit.transform.gameObject); } return(null); }
internal Vector3 GetWorldPos() { RaycastHit hit; Ray ray = MainGameLogic.GetMainCamera().ScreenPointToRay(Input.mousePosition); int layerMask = LayerMask.GetMask("CubeTileLayer"); if (Physics.Raycast(ray, out hit, Mathf.Infinity, layerMask)) { return(hit.point); } return(Vector3.positiveInfinity); }
public void LoadGame() { try { MagicCubeSaveData savedata = MainGameLogic.LoadGameSave(); MainGameLogic.GetMainCamera().GetComponent <CubeControl>().CreateMagicCube(savedata.magicCubeSize); MainGameLogic.SetCurrentActiveElement(MainGameLogic.CurrentActiveElement.MAIN_GAME); MainGameLogic.LinkMagicCubeManagerAndUI(MainGameLogic.GetMainCamera().GetComponent <CubeControl>().GetMagicCubeManager(), MainGameLogic.GetMainCamera().GetComponent <UIManager>().GetMainGameUI()); MainGameLogic.LinkMagicCubeManagerAndFinish(MainGameLogic.GetMainCamera().GetComponent <CubeControl>().GetMagicCubeManager(), MainGameLogic.GetMainCamera().GetComponent <UIManager>().GetFinishCanvas()); MainGameLogic.GetMainCamera().GetComponent <CubeControl>().GetMagicCubeManager().LoadGame(savedata); MainGameLogic.GetMainCamera().GetComponent <UIManager>().MainMenuToGame(); } catch (Exception e) { StartGame(); } }
// Update is called once per frame void Update() { if (!MainGameLogic.IsMainMenu()) { return; } if (magicCube == null && GameObject.FindGameObjectWithTag("MagicCube") != null) { magicCube = GameObject.FindGameObjectWithTag("MagicCube"); } if (magicCube != null) { if (magicCube.GetComponent <MagicCubeBehaviour>().getMagicCubeManager() != null) { MainGameLogic.GetMainCamera().transform.RotateAround(magicCube.GetComponent <MagicCubeBehaviour>().getMagicCubeManager().GetPivot(), new Vector3(0, 1, 1), Time.deltaTime * 30.0f); } } }
// Update is called once per frame void Update() { if (!MainGameLogic.IsMainGame()) { return; } if (Input.GetMouseButtonDown(0)) { if (startCubeTile == null) { startCubeTile = manager.QueryFirstCubeTile(); if (startCubeTile == null) { if (MainGameLogic.GetMainCamera().GetComponent <CameraControl>() != null) { MainGameLogic.GetMainCamera().GetComponent <CameraControl>().InitRotation(transform.gameObject); } } startCubeTile = null; } } }
public MagicCubeManager(GameObject cubeTileRef, int n, Vector3 pivot) { ownHolder = new GameObject("Magic Cube"); ownHolder.transform.position = Vector3.zero; ownHolder.layer = 10; MagicCubeBehaviour behaviour = ownHolder.AddComponent <MagicCubeBehaviour>(); behaviour.Init(this); ownHolder.tag = "MagicCube"; actionList = new List <CubeAction>(); this.cubeTileRef = cubeTileRef; magicCubeSize = n; cubeTiles = new List <GameObject>(); mainPivot = pivot; collectionHelper = new CubeCollectionHelper(0); GenerateCubeTiles(); MainGameLogic.GetMainCamera().transform.position = new Vector3(mainPivot.x, mainPivot.y, MainGameLogic.GetMainCamera().GetComponent <CameraControl>().GetCurrentZoom()); MainGameLogic.GetMainCamera().transform.rotation = new Quaternion(); }
public void StartFinish(int time) { int minutes = time / 60; int seconds = time - minutes * 60; string minutesText = ""; string secondsText = ""; if (minutes < 10) { minutesText = "0" + minutes; } else { minutesText = minutes.ToString(); } if (seconds < 10) { secondsText = "0" + seconds; } else { secondsText = seconds.ToString(); } timeText.text = minutesText + ":" + secondsText; StartFinishAnim(); MainGameLogic.GetMainCamera().GetComponent <UIManager>().OpenFinishCanvas(); GetComponent <Canvas>().enabled = false; MainGameLogic.GetMainCamera().GetComponent <UIManager>().DisableMenuButton(); //After finishing a game we delete the save file, no need for it anymore. //If we want to keep save games after finishing a game, I need to modify the save file //slightly to store whether the game has finished or not, to ensure equal states. MainGameLogic.DeleteSaveGame(); }
// Update is called once per frame void Update() { if (MainGameLogic.IsFinish()) { if (bStartedFinishAnimation) { float degrees = Time.deltaTime * 40.0f; MainGameLogic.GetMainCamera().transform.RotateAround(magicCube.GetComponent <MagicCubeBehaviour>().getMagicCubeManager().GetPivot(), MainGameLogic.GetMainCamera().transform.up, degrees); degreesTurned += degrees; cameraZoomTimePassed += Time.deltaTime; if (cameraZoomTimePassed > cameraZoomTimer) { cameraZoomTimePassed = 0.0f; MainGameLogic.GetMainCamera().GetComponent <CameraControl>().ZoomOut(Time.deltaTime * 2); } if (degreesTurned >= 360) { FinishDialogue(); } } } }
public void FinishDialogue() { bStartedFinishAnimation = false; GetComponent <Canvas>().enabled = true; MainGameLogic.GetMainCamera().GetComponent <UIManager>().EnableMenuButton(); }
public void LinkProcessOpenMenu(MainGameUI mainGameUI) { mainGameUI.SetMenuAction(MainGameLogic.GetMainCamera().GetComponent <UIManager>().OpenGameMenu); }
public void Update() { if (bProcessingRandomActions) { randomActionsTimePassed += Time.deltaTime; if (randomActionsTimePassed > randomActionTimer) { bProcessingRandomActions = false; return; } if (currentAction != null) { if (!currentAction.IsActionDone()) { currentAction.Update(); } else { currentAction = null; } } if (currentAction == null) { currentAction = generateRandomAction(); } return; } if (currentAction != null) { if (!currentAction.IsActionDone()) { currentAction.Update(); } else { currentAction = null; //After a move is fully completed check whether the game is finished or not if (CheckIfGameIsFinished()) { FinishGame(); } } } if (!bGameIsFinished) { timePassed += Time.deltaTime; if ((int)timePassed > seconds) { seconds = (int)timePassed; updateTime(seconds); } } bool bIsPinching = Input.touchCount >= 2; if (Input.GetMouseButtonDown(1) && !bIsPinching) { MainGameLogic.GetMainCamera().GetComponent <UIManager>().OpenGameMenu(); } }