示例#1
0
    // Use this for initialization
    void Awake()
    {
        string jsonFilePath = Path.Combine(Application.streamingAssetsPath, "Jsons");

        jsonFilePath = Path.Combine(jsonFilePath, JsonFileName);

        if (!File.Exists(jsonFilePath))
        {
            print(string.Format("Cannot Find Json File at {0}", jsonFilePath));
            return;
        }

        string json = File.ReadAllText(jsonFilePath);

        data = JsonConvert.DeserializeObject <BlockCollectionData>(json);

        // sculptureMap へのコピー
        sculptureMap = new int[data.blockArrangement.Length][][];
        for (int i = 0; i < sculptureMap.Length; i++)
        {
            sculptureMap[i] = new int[data.blockArrangement[0].Length][];
            for (int j = 0; j < sculptureMap[0].Length; j++)
            {
                sculptureMap[i][j] = new int[data.blockArrangement[0][0].Length];
                for (int k = 0; k < sculptureMap[0][0].Length; k++)
                {
                    sculptureMap[i][j][k] = data.blockArrangement[i][j][k];
                }
            }
        }
    }
    // Use this for initialization
    // Awake に書くことで、 Instantiate が呼ばれたらほかの処理が走る前に実行される
    void Awake()
    {
        string jsonFilePath = Path.Combine(Application.streamingAssetsPath, "Jsons");

        jsonFilePath = Path.Combine(jsonFilePath, JsonFileName);

        if (!File.Exists(jsonFilePath))
        {
            print(string.Format("Cannot Find Json File at {0}", jsonFilePath));
            return;
        }

        string json = File.ReadAllText(jsonFilePath);

        data = JsonConvert.DeserializeObject <BlockCollectionData>(json);

        // blockCollectionMap へのコピー
        blockCollectionMap = new int[data.blockArrangement.Length][][];
        for (int i = 0; i < blockCollectionMap.Length; i++)
        {
            blockCollectionMap[i] = new int[data.blockArrangement[0].Length][];
            for (int j = 0; j < blockCollectionMap[0].Length; j++)
            {
                blockCollectionMap[i][j] = new int[data.blockArrangement[0][0].Length];
                for (int k = 0; k < blockCollectionMap[0][0].Length; k++)
                {
                    // ここで 0 のところは 1 に置き換える(バウンディングボックスを作るため)
                    blockCollectionMap[i][j][k] = data.blockArrangement[i][j][k] == 0 ? 1 : data.blockArrangement[i][j][k];
                }
            }
        }

        // ここでつくることですべての場所で共通のManagerとなる
        blockHistoryManager = new BlockHistoryManager();

        // set this speech manager as global listener
        InputManager.Instance.AddGlobalListener(gameObject);
    }
示例#3
0
        //public void OnSpeechKeywordRecognized(SpeechEventData eventData)
        //{
        //    switch (eventData.RecognizedText.ToLower())
        //    {
        //        case "start":
        //            StartGame();
        //            break;
        //        case "retry":
        //            RetryGame();
        //            break;
        //        case "reset":
        //            ResetGame();
        //            break;
        //    }
        //}

        private void ReadJsonAndGenerateMap()
        {
            string jsonFilePath = Path.Combine(Application.streamingAssetsPath, "Jsons");

            jsonFilePath = Path.Combine(jsonFilePath, JsonFileName);

            if (!File.Exists(jsonFilePath))
            {
                print(string.Format("Cannot Find Json File at {0}", jsonFilePath));
                return;
            }

            string json = File.ReadAllText(jsonFilePath);

            data = JsonConvert.DeserializeObject <BlockCollectionData>(json);

            // blockCollectionMap へのコピー
            blockCollectionMap = new int[data.blockArrangement.Length][][];
            sculptureMap       = new int[data.blockArrangement.Length][][];
            for (int i = 0; i < blockCollectionMap.Length; i++)
            {
                blockCollectionMap[i] = new int[data.blockArrangement[0].Length][];
                sculptureMap[i]       = new int[data.blockArrangement[0].Length][];
                for (int j = 0; j < blockCollectionMap[0].Length; j++)
                {
                    blockCollectionMap[i][j] = new int[data.blockArrangement[0][0].Length];
                    sculptureMap[i][j]       = new int[data.blockArrangement[0][0].Length];
                    for (int k = 0; k < blockCollectionMap[0][0].Length; k++)
                    {
                        // ここで 0 のところは 1 に置き換える(バウンディングボックスを作るため)
                        blockCollectionMap[i][j][k] = data.blockArrangement[i][j][k] == 0 ? 1 : data.blockArrangement[i][j][k];
                        // sculptureMap はそのまま
                        sculptureMap[i][j][k] = data.blockArrangement[i][j][k];
                    }
                }
            }
        }