public void SetTimingCount(float time) { ChartStruct chart = chartData.GetSelectingChart(); if (needsClacCount) { _playTimingCount = Clac.TimingCount( time: time - chart.musicOffset, oneBeatCount: Clac.OneBeatCount(chart.beat, chart.beatParam), bpm: chart.bpm, nowBpm: ref _nowBpm, tempoChanger: chart.tempoChangers ); _showTimingCount = Clac.ShowTimingCount(_playTimingCount, chart.chartEffecters); _measureCount = Clac.MeasureByTimingCount(_playTimingCount, chart.beat, chart.beatParam, chart.tempoChangers); } else { needsClacCount = true; } countText.SetText(_playTimingCount.ToString()); showCountText.SetText(_showTimingCount.ToString()); timeText.SetText("{0:3}", time); }
public void UpdateTime() { if (isPlaying) { ChartStruct chart = chartData.GetSelectingChart(); _playTime += Time.deltaTime; FlameManage(); _playTimingCount = Clac.TimingCount( time: _playTime - chart.musicOffset, oneBeatCount: Clac.OneBeatCount(chart.beat, chart.beatParam), bpm: chart.bpm, nowBpm: ref _nowBpm, tempoChanger: chart.tempoChangers ); if (_playTimingCount > chart.chartLength) { _playTimingCount = chart.chartLength; SetTimePlay(false); } _measureCount = Clac.MeasureByTimingCount(_playTimingCount, chart.beat, chart.beatParam, chart.tempoChangers); timeSlider.value = _playTime; } else { UpdateTimeFromInput(); } }
public void Init() { ChartStruct chart = chartDataController.GetSelectingChart(); int measureLength = Clac.MeasureByTimingCount(chart.chartLength, chart.beat, chart.beatParam, chart.tempoChangers); System.Array.Resize(ref measureLines, measureLength); for (int i = 0; i < measureLines.Length; i++) { measureLines[i] = Instantiate(measureObj, createController.lanePrarent); int measureTiming = Clac.TimingCountByMeasure(i, chart.beat, chart.beatParam, chart.tempoChangers); measureLines[i].Init(Clac.ShowTimingCount(measureTiming, chart.chartEffecters), measureTiming); } }
private void UpdateTimeFromInput() { float mouseScroll = Input.GetAxis("Mouse ScrollWheels"); if (mouseScroll == 0) { return; } int addValue = 1; if (isSnap && currentSnapInterval != 0) { addValue = Constant.oneMeasureCount / currentSnapInterval; if (_playTimingCount % addValue != 0) { _playTimingCount = (_playTimingCount / addValue) * addValue; } } if (mouseScroll > 0) { _playTimingCount += addValue; } else if (mouseScroll < 0) { _playTimingCount -= addValue; } ChartStruct chart = chartData.GetSelectingChart(); _playTimingCount = Mathf.Clamp(_playTimingCount, minTimingCount, chart.chartLength); _showTimingCount = Clac.ShowTimingCount(_playTimingCount, chart.chartEffecters); _playTime = Clac.TimeByTimingCount( count: _playTimingCount, oneBeatCount: Clac.OneBeatCount(chart.beat, chart.beatParam), musicOffset: chart.musicOffset, bpm: chart.bpm, tempoChanger: chart.tempoChangers ); _measureCount = Clac.MeasureByTimingCount(_playTimingCount, chart.beat, chart.beatParam, chart.tempoChangers); needsClacCount = false; timeSlider.value = _playTime; }
public IEnumerator Init(ChartStruct chart, Transform laneParent) { float nextFlameTime = Clac.NextFlameTime(); int measureLength = Clac.MeasureByTimingCount(chart.chartLength, chart.beat, chart.beatParam, chart.tempoChangers); System.Array.Resize(ref measureLines, measureLength); for (int i = 0; i < measureLines.Length; i++) { measureLines[i] = Instantiate(measureObj, laneParent); int measureTiming = Clac.TimingCountByMeasure(i, chart.beat, chart.beatParam, chart.tempoChangers); measureLines[i].Init(Clac.ShowTimingCount(measureTiming, chart.chartEffecters), measureTiming); // 処理時間がフレームレートの80%を超えたら次のフレームへ if (Time.realtimeSinceStartup >= nextFlameTime) { yield return(null); nextFlameTime = Clac.NextFlameTime(); } } }
public void UpdateTime(ChartStruct chart) { _playTime += Time.deltaTime; _playFlame = Mathf.RoundToInt(_playTime * flameRate) + StaticValue.judgeOffset; _deltaFlame = _playFlame - beforeFlame; beforeFlame = _playFlame; _playTimingCount = Clac.TimingCountAndBeat( time: _playTime - chart.musicOffset, oneBeatCount: Clac.OneBeatCount(chart.beat, chart.beatParam), bpm: chart.bpm, nowBpm: ref _nowBpm, nowBeat: ref _nowBeat, tempoChanger: chart.tempoChangers ); _showTimingCount = Clac.ShowTimingCount( timingCount: _playTimingCount, chartEffecters: chart.chartEffecters ); _measureCount = Clac.MeasureByTimingCount(_playTimingCount, chart.beat, chart.beatParam, chart.tempoChangers); }