コード例 #1
0
    public void NewGame()
    {
        //InitGameState();

        string ID = originalImage.sprite.name;

        foreach (var panel in imageManager.backgroundPanels)
        {
            panel.sprite = backgroundImage.sprite;
        }

        if (DataPuzzleState == null)
        {
            PuzzleState puzzleState = PuzzlesCreator.CreatePuzzle(gameSettings.lines, gameSettings.columns);
            puzzleState.puzzleID = ID;
            DataPuzzleState      = new PuzzleStateList();
            DataPuzzleState.puzzleStates.Add(puzzleState);
            currentState = puzzleState;

            Debug.Log("puzzleCreator");
            InitView(puzzleState.puzzleDatas);
            UIController.GetComponent <UIController>().GoToGameScreen();
        }
        else
        {
            bool isInited = false;
            foreach (var pID in DataPuzzleState.puzzleStates)
            {
                if (pID.puzzleID == ID)
                {
                    currentState = pID;
                    UIController.GetComponent <UIController>().OnContinueScreen();
                    //затем смотрим чо нажмет и только потом вызываем InitView
                    Debug.Log(pID.puzzleID);
                    //InitView(pID.puzzleDatas);
                    isInited = true;
                    break;
                }
            }

            if (!isInited)
            {
                PuzzleState puzState = PuzzlesCreator.CreatePuzzle(gameSettings.lines, gameSettings.columns);
                puzState.puzzleID = ID;
                currentState      = puzState;
                DataPuzzleState.puzzleStates.Add(puzState);
                InitView(puzState.puzzleDatas);
                UIController.GetComponent <UIController>().GoToGameScreen();
            }

            /*progressCount = InitProgress(currentState);
            *  currentState.progressCount = progressCount;*/
        }
        //UpdateProgress();
        //InitView(DataPuzzleState.puzzleStates);
        //SetAlphaToPuzzles(progressCount);
    }
コード例 #2
0
 public void RefreshData(PuzzleState currentData, PuzzleStateList dataList)
 {
     foreach (var dataItem in dataList.puzzleStates)
     {
         if (dataItem.puzzleID == currentData.puzzleID)
         {
             dataList.puzzleStates.Remove(dataItem);
             break;
         }
     }
     dataList.puzzleStates.Add(currentData);
     //currentData = null;
 }
コード例 #3
0
 private void InitGameState()
 {
     DataPuzzleState = ToolSaver.Instance.Load <PuzzleStateList>(gameSettings.PathSaves);
 }