private async void OnNextMap(object sender, EventArgs e)
        {
            choosen = PopupChoosen.NextMap;
            await PopupNavigation.PopAsync();

            _mapDelegate.NextMap(choosen);
        }
예제 #2
0
        public async Task NextMap(PopupChoosen choosen)
        {
            isSolved       = false;
            currentStep    = 0;
            currentTipStep = 0;
            if (choosen == PopupChoosen.NextMap)
            {
                if (currentMapIndex == dicStepToMap[currentLevel].Count - 1)
                {
                    currentLevel++;
                    currentMapIndex = 0;
                }
                else
                {
                    currentMapIndex++;
                }
            }

            await Task.Run(new Action(() =>
            {
                Setting setting = App._dbHelper.GetSetting();
                setting.LevelID = currentLevel;
                setting.GateIndex = currentMapIndex;
                setting.PairImageName = ImageName1 + "|" + ImageName2;
                App._dbHelper.UpdateSetting(setting);
            }));


            _headerVM.Level     = LevelIntToText(currentLevel);
            _headerVM.Gate      = (currentMapIndex + 1) + "/" + dicStepToMap[currentLevel].Count;
            _headerVM.BestSolve = currentLevel + " Steps";

            for (int i = 0; i < 16; i++)
            {
                if (arrStyle[i] != dicStepToMap[currentLevel][currentMapIndex].arrStyle[i])
                {
                    arrStyle[i] = dicStepToMap[currentLevel][currentMapIndex].arrStyle[i];;
                    UpdateButton(i, false);
                }
            }
            await controlGrid.ScaleTo(0.0);

            await controlGrid.ScaleTo(1);
        }
 public void SetStar(int indexStar)
 {
     choosen = PopupChoosen.None;
     _vm.SetStar(indexStar);
 }