コード例 #1
0
    public IEnumerator InitializeGame(int _idLevel, int _idTheme)
    {
        FirebaseManager.instance.LogStartLevel(_idLevel, DataController.themeData[_idTheme].name);
        isInitializeComplete = false;
        EventManager.TriggerEvent("DestroyPiece");
        //curThemeData = DataController.themeData[_idLevel];
        idLevel = _idLevel;
        //idLevel = GameData.GetCurrentLevelByTheme(GameData.Theme);
        idTheme = _idTheme;
        //Debug.LogError(level);
        //curThemeData = DataController.Instance.themeData;
        //if ( level < curThemeData.groupLevel.Length)
        //{
        //    curLevelData = curThemeData.groupLevel[level];
        //}
        //else
        //{
        //    level = curThemeData.groupLevel.Length - 1;
        //    GameData.SetCurrentLevelByTheme(GameData.Theme, level);
        //    curLevelData = curThemeData.groupLevel[curThemeData.groupLevel.Length-1];
        //}

        if (idLevel < DataController.themeData[idTheme].levelCount)
        {
            curLevelData = DataController.LoadLevelData(_idTheme, _idLevel);
        }
        else
        {
            idLevel      = DataController.themeData[idLevel].levelCount - 1;
            curLevelData = DataController.LoadLevelData(_idTheme, _idLevel);
            //    GameData.SetCurrentLevelByTheme(GameData.Theme, level);
            //    curLevelData = curThemeData.groupLevel[curThemeData.groupLevel.Length-1];
        }
        sizeLevel = DataController.themeData[idTheme].size;
        SetCamPosition(sizeLevel);

        yield return(new WaitForEndOfFrame());

        curSampleAnswer = DataController.LoadSampleAnswer(curLevelData.sampleIndex, sizeLevel);


        listTexture = LoadTextureFromLevel(curLevelData.idLevel, DataController.themeData[_idTheme].name, sizeLevel);
        //listSamples = LoadSample(curLevelData.sampleIndex);

        listSamples = LoadSample(curSampleAnswer.pieceNames);

        numMove        = listSamples.Count + Mathf.CeilToInt(0.3f * listSamples.Count);
        numPiecesWrong = listSamples.Count;

        listAnswerForSample = CreateAnswerForSample(new Queue <int>(curSampleAnswer.answers));
        randIndexPiece      = RandomStackInt(0, listSamples.Count);
        SetCorrectPiecePos(SpawnRadomPieces(points[0].position), points[0].position, 0);
        for (int i = 1; i < 3; i++)
        {
            SpawnRadomPieces(points[i].position);
        }
        isInitializeComplete = true;
        //WinPanel.instance.SetImageReview(listTexture[listTexture.Count - 1]);
    }
コード例 #2
0
    public void CreateJson(bool _isOverride)
    {
        string       _path         = Path.Combine(answerPath, size.ToString() + "x" + size.ToString());
        List <int>   _finalAnswers = new List <int>();
        SampleAnswer _answer       = new SampleAnswer();
        string       _strData      = "[";

        //Debug.LogError(_path);

        _answer.idAnswer   = nameAnswerFile;
        _answer.pieceNames = new int[listSample.Count];
        //_answer.answers = new int[listSample.Count * 3];
        for (int i = 0; i < listSample.Count; i++)
        {
            _answer.pieceNames[i] = System.Int32.Parse(listSample[i].name);
            _finalAnswers.Add(i);
            _finalAnswers.Add(Mathf.RoundToInt(allPieces.transform.GetChild(i).position.x));
            _finalAnswers.Add(Mathf.RoundToInt(allPieces.transform.GetChild(i).position.y));
        }
        _answer.answers = _finalAnswers.ToArray();
        _strData       += "\n" + JsonUtility.ToJson(_answer, true);
        _strData       += "]";
        //Debug.Log(_strData);
        //Directory.CreateDirectory(_path);
        if (!Directory.Exists(_path))
        {
            Directory.CreateDirectory(answerPath);
            Debug.Log("<color=green>Create Directory</color>");
        }

        if (!_isOverride)
        {
            if (!File.Exists(_path + "/" + nameAnswerFile + jsonSuffix))
            {
                File.WriteAllText(_path + "/" + nameAnswerFile + jsonSuffix, _strData);
                Debug.Log("<color=green>: CREATE file complete </color>" + nameAnswerFile);
                CreateLevelJson(idLevel, idTheme, nameAnswerFile);
            }
            else
            {
                Debug.Log("<color=red>Exis file: </color>" + size.ToString() + "x" + size.ToString() + "/" + nameAnswerFile + ":Try to UPDATE");
            }
        }
        else
        {
            File.WriteAllText(_path + "/" + nameAnswerFile + jsonSuffix, _strData);
            CreateLevelJson(idLevel, idTheme, nameAnswerFile);
            Debug.Log("<color=green>: UPDATE file complete </color>" + nameAnswerFile);
        }
    }
コード例 #3
0
    public void CreateAnswer()
    {
        levelData = LoadLevelJson(idLevel);
        //Debug.LogError(levelData);
        if (levelData != null)
        {
            nameAnswerFile = levelData.sampleIndex;
        }

        checkSampleAnswer = LoadAnswerJson(nameAnswerFile);
        if (checkSampleAnswer != null)
        {
            listAnswerForSample = UpdateListAnswerforSample(new Queue <int>(checkSampleAnswer.answers));
            listSample          = LoadSample(checkSampleAnswer.pieceNames);
        }
        else
        {
            Debug.LogError("Not Exist json");
            return;
        }
    }