Beispiel #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();
            }
        }
Beispiel #2
0
 public ConfirmPhase(GameTutorialObject tutorial, TutorialInfo tutorialData) : base(tutorial, tutorialData)
 {
 }
Beispiel #3
0
 public EndPhase(GameTutorialObject tutorial, TutorialInfo tutorialData) : base(tutorial, tutorialData)
 {
 }
Beispiel #4
0
 public CancelRoutePhase(GameTutorialObject tutorial, TutorialInfo tutorialData) : base(tutorial, tutorialData)
 {
 }
Beispiel #5
0
 public RotateRoutePhase(GameTutorialObject tutorial, TutorialInfo tutorialData) : base(tutorial, tutorialData)
 {
 }
Beispiel #6
0
 public BuildRoutePhase(GameTutorialObject tutorial, TutorialInfo tutorialData) : base(tutorial, tutorialData)
 {
 }
Beispiel #7
0
 public PickDicePhase(GameTutorialObject tutorial, TutorialInfo tutorialData) : base(tutorial, tutorialData)
 {
     TutorialObj.screenMaskObj.SetAlpha(.5f);
 }
Beispiel #8
0
 public TutorialPhase(GameTutorialObject tutorial, TutorialInfo tutorialData)
 {
     TutorialObj  = tutorial;
     TutorialData = tutorialData;
 }