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 IEnumerator Init() { float nextFlameTime = Clac.NextFlameTime(); System.Array.Resize(ref starTrans, starGenerateCount * parentTrans.Length); int generateCount = 0; for (int i = 0; i < parentTrans.Length; i++) { for (int j = 0; j < starGenerateCount; j++) { // 処理時間がフレームレートの80%を超えたら次のフレームへ if (Time.realtimeSinceStartup >= nextFlameTime) { yield return(null); nextFlameTime = Clac.NextFlameTime(); } Vector3 genetatePos = new Vector3(0, starInterval * j, 0); starTrans[generateCount] = Instantiate(starObj, parentTrans[i]).transform; starTrans[generateCount].localPosition = genetatePos; generateCount++; } } }
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(int timing, float chartSpeed, ChartStruct chartStruct) { timingCount = timing; showTimingCount = Clac.ShowTimingCount(timingCount, chartStruct.chartEffecters); chartSpeedText.SetText("{0:2}", chartSpeed); effecterStruct.timing = timing; effecterStruct.chartSpeed = chartSpeed; }
public override void Init(NotesStruct notesStruct, ChartStruct chartStruct, Material shinyMaterial = null) { base.Init(notesStruct, chartStruct, shinyMaterial); endTiming = timingCount + notesStruct.length; endShowTimingCount = Clac.ShowTimingCount(endTiming, chartStruct.chartEffecters); EndTimingFlame = Clac.TimingFlame(endTiming, chartStruct); endSpeed = notesStruct.speed; }
public void Init(int timing, float bpm, int beat, int beatParam, ChartStruct chartStruct) { timingCount = timing; showTimingCount = Clac.ShowTimingCount(timingCount, chartStruct.chartEffecters); bpmText.SetText("{0:0}", bpm); beatText.SetText(beat.ToString() + "/" + beatParam.ToString()); changerStruct.timing = timing; changerStruct.bpm = bpm; changerStruct.beat = beat; changerStruct.beatParam = beatParam; }
// Use this for initialization void Start() { m_Calc = Sum; m_Calc += Mul; m_Calc -= Sum; m_Calc(10, 20); m_CalcList = new Clac[2]; m_CalcList[0] = Sum; }
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 virtual void Init(NotesStruct notesStruct, ChartStruct chartStruct, Material shinyMaterial = null) { timingCount = notesStruct.timing; showTimingCount = Clac.ShowTimingCount(timingCount, chartStruct.chartEffecters); TimingFlame = Clac.TimingFlame(timingCount, chartStruct); if (notesStruct.lane > 0) { lane = notesStruct.lane; } mySpeed = notesStruct.speed; IsShiny = notesStruct.shiny; if (shinyMaterial != null) { spriteRenderer.material = shinyMaterial; } }
public void Init(ChartStruct chart) { flameRate = Application.targetFrameRate; _playTime = _startMusicOffset; _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 ); }
public IEnumerator GenerateNotes(RuleStruct gaugeRule, ChartStruct chart, GameObject[] laneObjs) { Array.Resize(ref notes, laneObjs.Length); int[] laneNoteCount = new int[notes.Length]; for (int i = 0; i < notes.Length; i++) { Array.Resize(ref notes[i], 1); laneNoteCount[i] = 0; } float nextFlameTime = Clac.NextFlameTime(); int notesCount = 0; foreach (NotesStruct note in chart.notes) { // 処理時間がフレームレートの80%を超えたら次のフレームへ if (Time.realtimeSinceStartup >= nextFlameTime) { yield return(null); nextFlameTime = Clac.NextFlameTime(); } int lane = note.lane - 1; Transform noteObj = GenerateNote(note.type, note.lane, laneObjs).transform; NormalNotes generateNotes = noteObj.GetComponent <NormalNotes>(); // 光るノーツならマテリアルを変える Material noteMaterial = note.shiny ? shinyMaterial : null; generateNotes.Init(note, chart, noteMaterial); _totalCombo += generateNotes.ClacComboCount(); _totalGaugeCount += generateNotes.ClacGaugeCount(gaugeRule); Array.Resize(ref notes[lane], laneNoteCount[lane] + 1); notes[lane][laneNoteCount[lane]] = generateNotes; laneNoteCount[lane]++; notesCount++; } }
public void Init() { flameRate = Application.targetFrameRate; ChartStruct chart = chartData.GetSelectingChart(); _playTimingCount = Clac.TimingCount( time: _playTime - chart.musicOffset, oneBeatCount: Clac.OneBeatCount(chart.beat, chart.beatParam), bpm: chart.bpm, nowBpm: ref _nowBpm, tempoChanger: chart.tempoChangers ); SetSnap(snapToggle.isOn); SetSnapInterval(intervalDD.value); SetTimeLength(); SetTimingCount(_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 IEnumerator Init() { float nextFlameTime = Clac.NextFlameTime(); ParticlePoolStruct[] particlePools = particlePoolData.particlePools; Array.Resize(ref particleCurrentElement, particlePools.Length); Array.Resize(ref particlesObjects, particlePools.Length); for (int i = 0; i < particlesObjects.Length; i++) { Array.Resize(ref particlesObjects[i], particlePools[i].poolSize); for (int j = 0; j < particlesObjects[i].Length; j++) { // 処理時間がフレームレートの80%を超えたら次のフレームへ if (Time.realtimeSinceStartup >= nextFlameTime) { yield return(null); nextFlameTime = Clac.NextFlameTime(); } particlesObjects[i][j] = Instantiate(particlePools[i].particle, particleParent); } } Array.Resize(ref judgeTexts, generateTextCount); for (int i = 0; i < generateTextCount; i++) { // 処理時間がフレームレートの80%を超えたら次のフレームへ if (Time.realtimeSinceStartup >= nextFlameTime) { yield return(null); nextFlameTime = Clac.NextFlameTime(); } judgeTexts[i] = Instantiate(judgeTextObj, textParent); } }
public void SetTimeLength() { ChartStruct chart = chartData.GetSelectingChart(); _timeLength = Clac.TimeByTimingCount( count: chart.chartLength, oneBeatCount: Clac.OneBeatCount(chart.beat, chart.beatParam), musicOffset: chart.musicOffset, bpm: chart.bpm, tempoChanger: chart.tempoChangers ); minTimingCount = Clac.TimingCount( time: 0 - chart.musicOffset, oneBeatCount: Clac.OneBeatCount(chart.beat, chart.beatParam), bpm: chart.bpm, nowBpm: ref _nowBpm, tempoChanger: chart.tempoChangers ); timeSlider.minValue = 0; timeSlider.maxValue = timeLength; }
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); }
public IEnumerator Init(int laneLength) { float nextFlameTime = Clac.NextFlameTime(); Array.Resize(ref nextNotes, laneLength); Array.Resize(ref laneNextCount, laneLength); Array.Resize(ref inputName, laneLength); for (int i = 0; i < laneLength; i++) { // 処理時間がフレームレートの80%を超えたら次のフレームへ if (Time.realtimeSinceStartup >= nextFlameTime) { yield return(null); nextFlameTime = Clac.NextFlameTime(); } laneNextCount[i] = 0; inputName[i] = Enum.GetName(typeof(InputButton), i); SetNextNote(i); } }
public void RefreshCount(ChartStruct chartStruct) { showTimingCount = Clac.ShowTimingCount(timingCount, chartStruct.chartEffecters); }
private IEnumerator GameInit() { chartEle = SetChartDifficlty(StaticValue.difficulty); gaugeRule = (int)StaticValue.gaugeRule; noteSpeed = StaticValue.noteSpeed; judgeStyle = StaticValue.judgeStyle; System.Array.Resize(ref uiData.judgeCount, timingRange[(int)judgeStyle].judges.Length); ChartStruct chart = musicStruct.charts[chartEle]; timeController.Init(chart); tutorialController.Init(isTutorial); // 各コントローラーの初期化処理を非同期で行う yield return(StartCoroutine(notesController.GenerateNotes(gaugeStructs.gaugeRules[gaugeRule], chart, laneObjs))); yield return(StartCoroutine(measureController.Init(chart, laneObjsParent))); yield return(StartCoroutine(inputController.Init(laneObjs.Length))); yield return(StartCoroutine(starCountroller.Init())); yield return(StartCoroutine(particleController.Init())); yield return(StartCoroutine(LoadAudioData(musicStruct.musicFileName, loadName))); RenderSettings.skybox = backGroundData.backGroundMaterials[(int)musicStruct.backGroundType]; notesController.UpdateManage(noteSpeed); measureController.MoveMeasure(noteSpeed, chart); // ScoreCountの計算 uiData.maxScoreCount = notesController.totalCombo * timingRange[(int)judgeStyle].judges[(int)JudgeType.Just].scoreCount; uiData.totalGaugeCount = notesController.totalGaugeCount; uiData.noteSpeed = noteSpeed; uiData.bpm = chart.bpm; uiData.gaugePer = gaugeStructs.gaugeRules[gaugeRule].startPar; growAnim.SetFloat("Speed", chart.bpm / 120); musicSource.volume = musicStruct.musicVolume; uiCountroller.Init( uiData: uiData, gaugeRule: gaugeStructs.gaugeRules[gaugeRule], trackCount: StaticValue.trackCount, musicName: musicStruct.musicName, artistName: musicStruct.composer, difficulty: chart.difficulty, level: chart.level, timeLength: Clac.TimeByTimingCount( count: chart.chartLength, oneBeatCount: Clac.OneBeatCount(chart.beat, chart.beatParam), musicOffset: chart.musicOffset, bpm: chart.bpm, tempoChanger: chart.tempoChangers), isDemo: isDemoPlay, isTutorial: isTutorial ); yield return(null); System.GC.Collect(); yield return(null); isInitFinish = true; cookpitUIAnim.SetBool("Show", true); if (isDemoPlay || isTutorial) { // デモプレイ、チュートリアルはすぐに始める cookpitUIAnim.SetTrigger("NonAnim"); isStarting = true; } else { keyInfoAnim.SetBool("KeyShow", true); yield return(new WaitForSeconds(1.0f)); } }