示例#1
0
 /// <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);
 }
示例#2
0
    public MusicGameScorePB GetMusicGameScorePB(int musicId, MusicGameDiffTypePB diff)
    {
        foreach (MusicGameScorePB musicGameScorePb in _rating)
        {
            if (musicGameScorePb.MusicId == musicId && diff == musicGameScorePb.DiffType)
            {
                return(musicGameScorePb);
            }
        }

        return(null);
    }
示例#3
0
        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);
            }
        }
    }