float lerpedWhammyVal() { float rawVal = GuitarInput.kNoWhammy; rawVal = GuitarInput.GetWhammyInput(); if (!canWhammy) { currentWhammyVal = GuitarInput.kNoWhammy; } else { if (rawVal > currentWhammyVal) { currentWhammyVal += whammyLerpSpeed * Time.deltaTime; if (currentWhammyVal > rawVal) { currentWhammyVal = rawVal; } } else if (rawVal.Round(2) < currentWhammyVal) { currentWhammyVal -= whammyLerpSpeed * Time.deltaTime; if (currentWhammyVal < rawVal) { currentWhammyVal = rawVal; } } } return(currentWhammyVal); }
public void Update(float time, GuitarSustainHitKnowledge sustainKnowledge, uint noteStreak) { var currentSustains = sustainKnowledge.currentSustains; int inputMask = GuitarInput.GetFretInputMask(); int extendedSustainsMask = sustainKnowledge.extendedSustainsMask; int shiftCount; int shiftedExtendedSustainsMask = GameplayInputFunctions.BitshiftToIgnoreLowerUnusedFrets(extendedSustainsMask, out shiftCount); foreach (GuitarSustainHitKnowledge.SustainKnowledge sustain in currentSustains.ToArray()) // Take a copy so we can remove as we go { if (noteStreak == 0) { BreakSustain(time, sustain); } else if (extendedSustainsMask != 0) { int shiftedInputMask = inputMask >> shiftCount; if ((shiftedInputMask & ~shiftedExtendedSustainsMask) != 0) { BreakSustain(time, sustain); } } else if (!GameplayInputFunctions.ValidateFrets(sustain.note, inputMask, noteStreak)) { BreakSustain(time, sustain); } } }
// Update is called once per frame void Update() { ChartEditor editor = ChartEditor.Instance; if (editor.currentState == ChartEditor.State.Playing && !GameSettings.bot) { Chart.GameMode gameMode = editor.currentChart.gameMode; LaneInfo laneInfo = editor.laneInfo; if (gameMode == Chart.GameMode.Drums) { foreach (Note.DrumPad drumPad in EnumX <Note.DrumPad> .Values) { if (bannedDrumPadInputs.ContainsKey(drumPad)) { continue; } if (DrumsInput.GetPadPressedInput(drumPad, laneInfo)) { animations[(int)drumPad].Press(); } else { animations[(int)drumPad].Release(); } } } else { foreach (Note.GuitarFret fret in EnumX <Note.GuitarFret> .Values) { if (bannedFretInputs.ContainsKey(fret)) { continue; } if (GuitarInput.GetFretInput(fret)) { animations[(int)fret].Press(); } else { animations[(int)fret].Release(); } } } } else { for (int i = 0; i < animations.Length; ++i) { if (!animations[i].running) { animations[i].Release(); } } } }
public void Update(float time, GuitarSustainHitKnowledge sustainKnowledge) { var currentSustains = sustainKnowledge.currentSustains; float whammyValue = GuitarInput.GetWhammyInput(); foreach (var sustain in currentSustains) { foreach (Note note in sustain.note.chord) { NoteController nCon = note.controller; if (nCon != null) { nCon.SetDesiredWhammy(whammyValue); } } } }
void UpdateGuitarFretPresses() { foreach (Note.GuitarFret fret in EnumX <Note.GuitarFret> .Values) { if (bannedFretInputs.ContainsKey(fret)) { continue; } if (GuitarInput.GetFretInput(fret)) { animations[(int)fret].Press(); } else { animations[(int)fret].Release(); } } }
public void Update(float time, HitWindow <GuitarNoteHitKnowledge> hitWindow, uint noteStreak, GuitarSustainHitKnowledge sustainKnowledge) { // Capture input bool strum = GuitarInput.GetStrumInput(); int inputMask = GuitarInput.GetFretInputMask(); if (inputMask != previousInputMask) { canTap = true; } if (strum) { WriteInputToChart(time, inputMask); } // What note is the player trying to hit next? GuitarNoteHitKnowledge nextNoteToHit = hitWindow.oldestUnhitNote; UpdateNoteKnowledge(time, hitWindow, inputMask, strum, noteStreak, nextNoteToHit, sustainKnowledge); if (nextNoteToHit != null) { Note nextSeperate = nextNoteToHit.note.nextSeperateNote; if (noteStreak > 0) { PreserveStreakDetect(time, hitWindow, strum, noteStreak, nextNoteToHit, inputMask); } else { RecoveryDetect(time, hitWindow, inputMask, strum, noteStreak); } } // No note in window else { BlankWindowDetect(time, strum); } previousInputMask = inputMask; }
// Update is called once per frame void Update() { ChartEditor editor = ChartEditor.Instance; if (editor.currentState == ChartEditor.State.Playing && !GameSettings.bot) { Chart.GameMode gameMode = editor.currentChart.gameMode; LaneInfo laneInfo = editor.laneInfo; if (gameMode == Chart.GameMode.Drums) { foreach (Note.DrumPad drumPad in EnumX <Note.DrumPad> .Values) { if (bannedDrumPadInputs.ContainsKey(drumPad)) { continue; } bool lanePressed = false; switch (GameSettings.drumsModeOptions) { case GameSettings.DrumModeOptions.ProDrums: { lanePressed = DrumsInput.GetTomPressedInput(drumPad, laneInfo) || DrumsInput.GetCymbalPressedInput(drumPad, laneInfo); break; } default: { lanePressed = DrumsInput.GetPadPressedInput(drumPad, laneInfo); break; } } if (lanePressed) { animations[(int)drumPad].Press(); } else { animations[(int)drumPad].Release(); } } } else { foreach (Note.GuitarFret fret in EnumX <Note.GuitarFret> .Values) { if (bannedFretInputs.ContainsKey(fret)) { continue; } if (GuitarInput.GetFretInput(fret)) { animations[(int)fret].Press(); } else { animations[(int)fret].Release(); } } } } else { for (int i = 0; i < animations.Length; ++i) { if (!animations[i].running) { animations[i].Release(); } } } }