Example #1
0
    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);
    }
Example #2
0
    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);
        }
    }
Example #4
0
    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;
    }
Example #5
0
    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);
    }