// 0 -- PlayScene public void LoadPlayScene(LevelData levelData, string songScript = null) { if (!_CheckInput(PlaySceneName)) { return; } if (!LevelConfig.CheckEnergy()) { return; } m_LoadingPlayScene = true; StaticData.LevelID = levelData.levelID; StaticData.NowLevelData = levelData; CorePlayData.SongID = LanguageManager.GetSongIdFromLanguage(levelData.songID); if (string.IsNullOrEmpty(songScript)) { CorePlayData.SongScript = SongConfig.Instance.GetsongScriptBySongIDAndLevelDiffculty(LanguageManager.GetSongIdFromLanguage(levelData.songID), levelData.LevelDifficulty); } else { CorePlayData.SongScript = songScript; } CorePlayData.SongOffset = SongConfig.Instance.GetSongOffsetBySongIDAndLevelDiffculty(LanguageManager.GetSongIdFromLanguage(levelData.songID), levelData.LevelDifficulty); CorePlayData.CurrentSong = BeatmapParse.Parse(CorePlayData.SongScript); CorePlayData.BossLife = levelData.bosslife; CorePlayData.BossSongName = LevelConfig.AllLevelDic[levelData.levelID].boss_song_name; CorePlayData.EducationText = SongConfig.Instance.m_items[LanguageManager.GetSongIdFromLanguage(levelData.songID)]["educationText"]; StartCoroutine(_LoadSceneAsyncInternal()); }
void CalcCorePlayData() { CorePlayData.BMPDelta = CorePlayData.CurrentSong.BPM / 60f / 2f; m_CurrentTB = 60f / CorePlayData.CurrentSong.BPM; while (m_CurrentTB < 0.5f || m_CurrentTB > 1) { if (m_CurrentTB < 0.5f) { m_CurrentTB *= 2f; } else if (m_CurrentTB > 1) { m_CurrentTB /= 2f; } } CorePlayData.TB = m_CurrentTB; m_RhythmBeatInterval = 60000f / CorePlayData.CurrentSong.BPM; Debug.LogWarning("m_RhythmBeatInterval coreplay: " + m_RhythmBeatInterval); //计算分数 int levelNum = StaticData.LevelID - RuntimeConst.LevelBase; m_SongMaxScoreInfo = BeatmapParse.GetSongObjectMaxScore(CorePlayData.CurrentSong); int currentMaxScore = m_SongMaxScoreInfo.MaxScore; m_AllWordNum = m_SongMaxScoreInfo.MaxCombo; float destScore = (Mathf.Log10(levelNum) + RuntimeConst.ScoreAddOnParam) * CorePlayData.FirstLevelMaxScore; m_ScoreParam = destScore / currentMaxScore; PageManager.Instance.CurrentPage.GetNode <CalculateNode>().levelMaxScore = currentMaxScore; PageManager.Instance.CurrentPage.GetNode <CalculateNode>().scoreParam = m_ScoreParam; PageManager.Instance.CurrentPage.GetNode <BossWarNode>().scoreParam = m_ScoreParam; //Debug.Log(m_ScoreParam); }
public static void CalcFirstLevelScore() { LevelData firstLevelData = LevelConfig.AllLevelDic[RuntimeConst.FirstLevelID]; string scriptName = SongConfig.Instance.GetsongScriptBySongIDAndLevelDiffculty(LanguageManager.GetSongIdFromLanguage(firstLevelData.songID), firstLevelData.LevelDifficulty); SongObject firstSongObj = BeatmapParse.Parse(scriptName); FirstLevelMaxScore = BeatmapParse.GetSongObjectMaxScore(firstSongObj).MaxScore; }
protected virtual void ListenMusic() { if (!m_GameStart) { string songName = m_DropDown.options[m_DropDown.value].text; CorePlayData.CurrentSong = BeatmapParse.Parse(songName); CorePlayMusicPlayer.Instance.LoadSong(Path.GetFileNameWithoutExtension(CorePlayData.CurrentSong.AudioFileName.Trim())); TeachCreateEvents createEvents = new TeachCreateEvents(); m_TimerEvents = createEvents.GetTimerEventQueue(); m_GameStart = true; } }
private void UpdateFileName(int optionIndex) { m_SongName = m_SongDown.options[optionIndex].text; m_AudioName = BeatmapParse.GetAudioFileName(m_SongName).Replace(".mp3", ""); if (m_AudioName != null) { for (int i = 0; i < m_AudioDown.options.Count; i++) { if (string.Equals(m_AudioName, m_AudioDown.options[i].text)) { m_AudioDown.value = i; break; } } } }
private void Enter() { m_SongName = m_SongDown.options[m_SongDown.value].text; m_AudioName = m_AudioDown.options[m_AudioDown.value].text; CorePlayData.CurrentSong = BeatmapParse.Parse(m_SongName); if (string.Equals(CorePlayData.CurrentSong.AudioFileName, m_AudioName)) { EditorModeManager.Instance.GetBPMFromData = true; } else { EditorModeManager.Instance.GetBPMFromData = false; CorePlayData.CurrentSong.AudioFileName = m_AudioName; } PageManager.Instance.CurrentPage.GetNode <EditorModeNode>().OpenEditPage(); EditorModeManager.Instance.SetData(); }
// Use this for initialization void Start() { StaticData.NowLevelData = LevelConfig.GetLevelDataByID(StaticData.LevelID); CorePlayData.SongID = LanguageManager.GetSongIdFromLanguage(StaticData.NowLevelData.songID); CorePlayData.SongScript = SongConfig.Instance.GetsongScriptBySongIDAndLevelDiffculty(LanguageManager.GetSongIdFromLanguage(StaticData.NowLevelData.songID), StaticData.NowLevelData.LevelDifficulty); CorePlayData.SongOffset = SongConfig.Instance.GetSongOffsetBySongIDAndLevelDiffculty(LanguageManager.GetSongIdFromLanguage(StaticData.NowLevelData.songID), StaticData.NowLevelData.LevelDifficulty); CorePlayData.CurrentSong = BeatmapParse.Parse(CorePlayData.SongScript); ChoreographerData cData = ChoreographerData.GetChoreographerDataFromJson(StaticData.ChoreographerData); loader.LoadAudio(); m_StageManager.Init(60f / CorePlayData.CurrentSong.BPM); m_StageManager.CreateDataFromWholeChoreographer(cData); m_StageManager.SetChampion(true); m_StageManager.ShowStage(); AnalysisManager.Instance.OnEvent("enterStage", null); }
static void GetAllLevelMaxScore() { BeatmapParse.CalcAllTxtScore(); }