private async void Start() { var pickTutorialData = new TutorialInfo(1001, "화면 상단의 타일을 선택하세요."); var buildTutorialData = new TutorialInfo(100017, "경로를 이곳에 배치하세요"); var rotateTutorialData = new TutorialInfo(-1, "회전 버튼으로 타일을 회전 시킬 수 있습니다."); var flipTutorialData = new TutorialInfo(-1, "반전 버튼으로 타일을 반전 시킬 수 있습니다."); var removeTutorialData = new TutorialInfo(-1, "두번 탭하여 타일 배치를 취소 할 수 있습니다."); var confirmTutorialData = new TutorialInfo(-1, "체크 버튼을 눌러 라운드를 종료합니다."); tutorials.Enqueue(new PickDicePhase(this, pickTutorialData)); tutorials.Enqueue(new BuildRoutePhase(this, buildTutorialData)); tutorials.Enqueue(new CancelRoutePhase(this, removeTutorialData)); removeTutorialData.Id = 0; tutorials.Enqueue(new CancelRoutePhase(this, removeTutorialData)); pickTutorialData.Text = "다시 타일을 선택하세요."; tutorials.Enqueue(new PickDicePhase(this, pickTutorialData)); tutorials.Enqueue(new BuildRoutePhase(this, buildTutorialData)); tutorials.Enqueue(new ConfirmPhase(this, confirmTutorialData)); pickTutorialData.Id = 1002; tutorials.Enqueue(new PickDicePhase(this, pickTutorialData)); buildTutorialData.Id = 100013; tutorials.Enqueue(new BuildRoutePhase(this, buildTutorialData)); tutorials.Enqueue(new RotateRoutePhase(this, rotateTutorialData)); tutorials.Enqueue(new ConfirmPhase(this, confirmTutorialData)); pickTutorialData.Id = 2011; tutorials.Enqueue(new PickDicePhase(this, pickTutorialData)); buildTutorialData.Id = 100012; tutorials.Enqueue(new BuildRoutePhase(this, buildTutorialData)); tutorials.Enqueue(new FlipRoutePhase(this, flipTutorialData)); tutorials.Enqueue(new ConfirmPhase(this, confirmTutorialData)); tutorials.Enqueue(new EndPhase(this, new TutorialInfo())); ApplyTutorialMode(); screenMaskObj.onDisable += () => { Time.timeScale = prevTimeScale; }; screenMaskObj.TurnOn(); await Task.Delay(250); while (0 < tutorials.Count && enabled) { current = tutorials.Dequeue(); current.Enter(); current.Update(); var button = await UIButtonAsync.SelectButton <Button>(tutorialIndicators); if (button.name.ToLower().Contains("exit")) { enabled = false; screenMaskObj.TurnOff(); } current.Exit(); } }
public async Task <bool> GetResult() { var button = await UIButtonAsync.SelectButton <Button>(ownButtons); if ("ConfirmButton" == button.name) { return(true); } else if ("CancelButton" == button.name) { return(false); } return(false); }
private async void Start() { while (isActiveAndEnabled) { Button select = await UIButtonAsync.SelectButton <Button>(lobbyButtons); if ("SoloPlayButton" == select.name) { OpenPanel(uiSoloPlayPanel); } else if ("MultiPlayButton" == select.name) { OpenPanel(uiMultiPlayPanel); } else if ("ManualButton" == select.name) { OpenPanel(uiManualPanel); } await Task.Yield(); } }
private async void Start() { BrickObject.GlobalSpeed = brickSpeed; StartCoroutine(GenBrickCo()); while (true) { var button = await UIButtonAsync.SelectButton <Button>(buttons); if (ReferenceEquals(null, button)) { break; } if ("ExitButton" == button.name) { await ExitStage(); } else if ("RestartButton" == button.name) { player.ResetPlayer(); } } }
public override void Setup() { gameManager = GameManager.Get(); dataManager = DataManager.Get(); gameManager.GameRoom = GameRoomModel.GetSoloPlay(); pageDestination = chapterPagesRect.anchoredPosition; chapterPageWidth = chapterPagePrefab.GetComponent <RectTransform>().rect.width; stageButtonList = new List <Button>(); stageButtons = new Dictionary <int, UIStageButton>(); chapterPageList = new List <UIChapterPage>(); var chapters = dataManager.ChapterData; chapterIndex = gameManager.GetLastChapterIndex(); chapterCount = chapters.Count; foreach (var chapter in chapters) { var chapterPage = Instantiate(chapterPagePrefab, chapterPages); chapterPage.SetName(chapter.Value.Name); chapterPageList.Add(chapterPage); int stageIndex = 0; foreach (var stage in chapter.Value.Stages) { var stageButton = Instantiate(stageButtonPrefab, chapterPage.transform); stageButton.StageData = dataManager.StageListData[stage].Stage; stageButton.SetStageNumber(stageIndex + 1); stageButton.SetStageStatus(false); stageButtonList.Add(stageButton.ownButton); stageButtons.Add(stage, stageButton); stageIndex++; } } onBeforeOpen = null; onBeforeOpen += async() => { UpdateChapterPage(true); bool isClear = true; foreach (var button in stageButtons) { button.Value.ownButton.interactable = isClear; isClear = gameManager.IsClearStage(button.Value.StageData.Id); button.Value.SetStageStatus(isClear); } var clicked = await UIButtonAsync.SelectButton <UIStageButton>(stageButtonList.ToArray()); Close(); loadingPanel.SetActive(true); gameManager.CurrentChapter = dataManager.GetFirstChapter(); gameManager.CurrentStage = clicked.StageData; gameManager.SetLastChapterIndex(chapterIndex); var loadScene = SceneManager.LoadSceneAsync("GameScene"); loadScene.completed += (op) => { loadScene.allowSceneActivation = true; }; }; }