private IEnumerator LoadAudioData(string musicName, string loadName) { if (musicName == string.Empty) { yield break; } if (Constant.CompareEnv(GameEnvironment.local)) { using (UnityWebRequest resource = UnityWebRequestMultimedia.GetAudioClip("File://" + MusicPath.getMusicDataPath(loadName, musicName), Constant.musicAudioType)) { yield return(resource.SendWebRequest()); if (resource.isNetworkError) { Debug.LogError(resource.error); } else { musicSource.clip = DownloadHandlerAudioClip.GetContent(resource); } } } else if (Constant.CompareEnv(GameEnvironment.webGL)) { musicSource.clip = Resources.Load(Constant.audioResourceDirectory + musicName) as AudioClip; musicSource.clip.LoadAudioData(); } }
private IEnumerator StreamingLoadMusic(string directoryName, string musicName) { if (musicName == string.Empty) { yield break; } if (Constant.CompareEnv(GameEnvironment.local)) { using (var request = new UnityWebRequest("File://" + MusicPath.getMusicDataPath(directoryName, musicName))) { var handler = new DownloadHandlerAudioClip(string.Empty, Constant.musicAudioType); handler.compressed = false; handler.streamAudio = true; request.downloadHandler = handler; yield return(request.SendWebRequest()); if (request.isNetworkError || request.isHttpError) { Debug.LogError(request.error); } else { AudioClip loadedAudioClip = handler.audioClip; loadedAudioClip.name = musicName; audioSource.clip = loadedAudioClip; isReady = true; PlayPreview(); } } } else if (Constant.CompareEnv(GameEnvironment.webGL)) { ResourceRequest request = Resources.LoadAsync <AudioClip>(Constant.audioResourceDirectory + musicName); while (!request.isDone) { yield return(null); } audioSource.clip = request.asset as AudioClip; audioSource.clip.LoadAudioData(); while (audioSource.clip.loadState != AudioDataLoadState.Loaded && audioSource.clip.loadState != AudioDataLoadState.Failed) { yield return(null); } isReady = true; PlayPreview(); } }
public IEnumerator StartInit() { Application.targetFrameRate = 60; loadName = StaticValue.loadName; if (Constant.CompareEnv(GameEnvironment.local)) { musicStruct = ChartUtility.LoadMusicData(loadName); } else if (Constant.CompareEnv(GameEnvironment.webGL)) { CacheStruct cacheStruct = ChartUtility.FindCacheStruct(loadName); musicStruct = cacheStruct.musicStruct; scoreData = cacheStruct.scoreStruct; } yield return(StartCoroutine(GameInit())); }
public static ScoreDataStruct LoadScoreData(string musicName) { ScoreDataStruct scoreData = null; if (Constant.CompareEnv(GameEnvironment.local)) { string json = ReadScoreDataJson(musicName); if (json == string.Empty) { return(null); } scoreData = JsonUtility.FromJson <ScoreDataStruct>(json); } else if (Constant.CompareEnv(GameEnvironment.webGL)) { scoreData = FindCacheStruct(musicName).scoreStruct; } return(scoreData); }
void Awake() { if (Constant.CompareEnv(GameEnvironment.webGL)) { editBanner.gameObject.SetActive(false); } isController = Constant.IsConnectingController(); if (isController) { keyboardInfoContent.SetActive(false); controllerInfoContent.SetActive(true); } else { keyboardInfoContent.SetActive(true); controllerInfoContent.SetActive(false); } verText.SetText("Ver: " + Constant.version); envText.SetText("Env: " + Constant.env); }
public void SetUIValue(ResultData resultData) { if (Constant.CompareEnv(GameEnvironment.webGL) && !StaticValue.isAuto) { tweetButton.gameObject.SetActive(true); } resultStruct = resultData; scoreText.text = resultData.score.ToString("D7"); bestScoreText.text = resultData.bestScore.ToString("D7"); SetDifferenceScore(resultData.score, resultData.bestScore); rankData.SetRankText(ref rankText, resultData.score); maxComboText.text = resultData.maxCombo.ToString(); // 判定数のテキスト代入 for (int i = 0; i < judgeCountTexts.Length; i++) { judgeCountTexts[i].text = resultData.judgeCount[i].ToString(); } clearText.SetText(clearType.clearTypes[(int)resultData.clearType].displayName); clearType.setColor(ref clearText, resultData.clearType); musicTitleText.SetText(resultData.musicTitle); composerText.SetText(resultData.composer); difficultText.SetText(resultData.difficulty.ToString()); difficultText.color = difficultyData.difficlties[(int)resultData.difficulty].color; levelText.SetText("{0:2}", resultData.level); fastCountText.SetText(resultData.fastCount.ToString()); lateCountText.SetText(resultData.lateCount.ToString()); }
/// <summary> /// スコアデータを更新する /// </summary> /// <param name="musicName"></param> /// <param name="score"></param> /// <param name="difficulty"></param> /// <param name="clearType"></param> /// <returns></returns> public static IEnumerator WriteScoreDataFromResult(string musicName, int score, Difficulty difficulty, ClearType clearType) { int chartElement = (int)difficulty; ScoreDataStruct scoreData = null; if (Constant.CompareEnv(GameEnvironment.local)) { scoreData = LoadScoreData(musicName); } else if (Constant.CompareEnv(GameEnvironment.webGL)) { bool isFinish = false; NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("MusicData"); query.WhereEqualTo("musicName", musicName); query.Limit = 1; query.FindAsync((List <NCMBObject> objList, NCMBException e) => { if (e != null) { isFinish = true; Debug.LogError(e); } else { string scoreJson = Convert.ToString(objList[0]["scoreData"]); scoreData = JsonUtility.FromJson <ScoreDataStruct>(scoreJson); isFinish = true; } }); // 取得が完了するまで待機 while (!isFinish) { yield return(null); } } if (scoreData == null) { yield break; } ScoreStruct scoreStruct = scoreData.scores[chartElement]; if (scoreData == null) { scoreData = new ScoreDataStruct(); } if (scoreStruct.bestScore < score) { scoreData.scores[chartElement].bestScore = score; } if (scoreStruct.clearType < clearType) { scoreData.scores[chartElement].clearType = clearType; } if (clearType > ClearType.Failed) { scoreData.scores[chartElement].clearCount++; } scoreData.scores[chartElement].playCount++; RankingManage(ref scoreData.scores[chartElement], score, clearType); string scoreDataJson = JsonUtility.ToJson(scoreData); if (Constant.CompareEnv(GameEnvironment.local)) { string filePath = Application.streamingAssetsPath + Constant.musicDataDirectory + "/" + musicName; if (!Directory.Exists(filePath)) { yield break; } string dataFilePath = filePath + "/" + musicName + Constant.scoreExtension; File.WriteAllText(dataFilePath, scoreDataJson); } else if (Constant.CompareEnv(GameEnvironment.webGL)) { bool isFinish = false; NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("MusicData"); query.WhereEqualTo("musicName", musicName); query.Limit = 1; query.FindAsync((List <NCMBObject> objList, NCMBException e) => { if (e != null) { isFinish = true; Debug.LogError(e); } else { objList[0]["scoreData"] = scoreDataJson; objList[0].SaveAsync((NCMBException exp) => { if (exp != null) { isFinish = true; Debug.LogError(e); } else { isFinish = true; } }); } }); // 取得が完了するまで待機 while (!isFinish) { yield return(null); } SetScoreCacheStruct(musicName, scoreData); } }