/// <summary> /// 获取这首歌分数信息 /// </summary> /// <param name="id"></param> /// <param name="diff"></param> /// <returns></returns> public MusicGameScorePB GetMusicGameScoreRule(int id, MusicGameDiffTypePB diff) { foreach (var v in _musicGameScorePBs) { if (v.MusicId == id && v.DiffType == diff) { return(v); } } return(null); }
public MusicGameScorePB GetMusicGameScorePB(int musicId, MusicGameDiffTypePB diff) { foreach (MusicGameScorePB musicGameScorePb in _rating) { if (musicGameScorePb.MusicId == musicId && diff == musicGameScorePb.DiffType) { return(musicGameScorePb); } } return(null); }
public void InitRunningData(float musicLen) { runningInfo = new MusicRhythmRunningInfo(); int musicId = _activityMusicVo.MusicId; //LoadJson("10000"); //LoadJson("10001"); //LoadJson("10002"); MusicGameDiffTypePB diff = _activityMusicVo.Diff; string jsonId = musicId.ToString() + ((int)diff).ToString(); Debug.LogError(jsonId); _rhythmInInfo = LoadJson(jsonId); _rhythmInInfo.Ticks.Sort(); runningInfo.activityId = _activityMusicVo.ActivityId; runningInfo.diff = _activityMusicVo.Diff; runningInfo.musicLen = musicLen; runningInfo.musicId = musicId; runningInfo.musicName = GetMusicNameById(musicId); runningInfo.ScoreRule = GetMusicGameScoreRule(musicId, diff); runningInfo.JudgeMusicDataPBs = GetJudgeRule(); }
public void InitActivityMusicInfo(List <ActivityMusicPoolPB> musicPbs, ActivityMusicInfoRes res, Rules rules = null) { if (rules == null && _musicRules == rules) { return; } else { _musicRules = rules == null ? _musicRules : rules; } if (_activityMusicVos == null) { _activityMusicVos = new List <ActivityMusicVo>(); } else { _activityMusicVos.Clear(); } foreach (var v in musicPbs) { foreach (var d in Enum.GetValues(typeof(MusicGameDiffTypePB))) { UserActivityMusicInfoPB userInfo = null; MusicGameDiffTypePB diff = (MusicGameDiffTypePB)d; foreach (var v1 in res.UserActivityMusicInfos) { if (v1.ActivityId == v.ActivityId && v1.MusicId == v.MusicId && v1.DiffType == diff) { userInfo = v1; break; } } MusicGameScorePB musicGameScorePB = null; foreach (var s in _musicRules.MusicGameScore) { if (s.MusicId == v.MusicId) { musicGameScorePB = s; break; } } if (musicGameScorePB == null) { continue; } var vo = new ActivityMusicVo(userInfo); vo.ActivityId = v.ActivityId; vo.MusicId = v.MusicId; vo.GameScoreRule = musicGameScorePB; vo.Diff = diff; vo.MusicName = v.MusicName; if (vo.Diff == MusicGameDiffTypePB.Entry) { vo.IsOpen = true; } else { vo.IsOpen = _activityMusicVos[_activityMusicVos.Count - 1].IsPass == true; } _activityMusicVos.Add(vo); } } }