Пример #1
0
        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();
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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();
            }
        }
Пример #4
0
    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();
            }
        }
    }
Пример #5
0
        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;
                };
            };
        }