// 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); }
//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]; } } } }