Esempio n. 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());
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
    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();
    }
Esempio n. 7
0
    // 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();
 }