示例#1
0
    //    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());
    }