Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 25 additions & 23 deletions YARG.Core.UnitTests/Engine/EngineManagerTester.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,11 @@ public void CanRemoveEngineFromManager()
[Test]
public void EngineManagerGeneratesUnisonPhrases()
{
var guitarPhrases = EngineManager.GetUnisonPhrases(Instrument.FiveFretGuitar, Difficulty.Expert, GetChart(), false);
var bassPhrases = EngineManager.GetUnisonPhrases(Instrument.FiveFretBass, Difficulty.Expert, GetChart(), true);
var drumsPhrases = EngineManager.GetUnisonPhrases(Instrument.FourLaneDrums, Difficulty.Expert, GetChart(), false);
var keysPhrases = EngineManager.GetUnisonPhrases(Instrument.ProKeys, Difficulty.Expert, GetChart(), false);
var chart = GetChart();
var guitarPhrases = EngineManager.GetUnisonPhrases(chart.FiveFretGuitar.GetDifficulty(Difficulty.Expert), GetChart(), false);
var bassPhrases = EngineManager.GetUnisonPhrases(chart.FiveFretBass.GetDifficulty(Difficulty.Expert), GetChart(), true);
var drumsPhrases = EngineManager.GetUnisonPhrases(chart.FourLaneDrums.GetDifficulty(Difficulty.Expert), GetChart(), false);
var keysPhrases = EngineManager.GetUnisonPhrases(chart.ProKeys.GetDifficulty(Difficulty.Expert), GetChart(), false);

using (Assert.EnterMultipleScope())
{
Expand All @@ -63,10 +64,11 @@ public void EngineManagerGeneratesEqualUnisonPhrases()
{
var tolerance = (GetChart().Resolution / 4) - 1; // 16th note tolerance
Func<EngineManager.UnisonPhrase, EngineManager.UnisonPhrase, bool> comparer = (a, b) => EngineManager.TickWithinTolerance(a.Tick, b.Tick, tolerance) && EngineManager.TickWithinTolerance(a.TickEnd, b.TickEnd, tolerance);
var guitarPhrases = EngineManager.GetUnisonPhrases(Instrument.FiveFretGuitar, Difficulty.Expert, GetChart(), false);
var bassPhrases = EngineManager.GetUnisonPhrases(Instrument.FiveFretBass, Difficulty.Expert, GetChart(), false);
var drumsPhrases = EngineManager.GetUnisonPhrases(Instrument.FourLaneDrums, Difficulty.Expert, GetChart(), true);
var keysPhrases = EngineManager.GetUnisonPhrases(Instrument.ProKeys, Difficulty.Expert, GetChart(), false);
var chart = GetChart();
var guitarPhrases = EngineManager.GetUnisonPhrases(chart.FiveFretGuitar.GetDifficulty(Difficulty.Expert), chart, false);
var bassPhrases = EngineManager.GetUnisonPhrases(chart.FiveFretBass.GetDifficulty(Difficulty.Expert), chart, false);
var drumsPhrases = EngineManager.GetUnisonPhrases(chart.FourLaneDrums.GetDifficulty(Difficulty.Expert), chart, true);
var keysPhrases = EngineManager.GetUnisonPhrases(chart.ProKeys.GetDifficulty(Difficulty.Expert), chart, false);

using (Assert.EnterMultipleScope())
{
Expand All @@ -81,28 +83,28 @@ public void EngineManagerGeneratesEqualUnisonPhrases()
public void EngineManagerUnisonPhraseNoteCountIsCorrect()
{
var chart = GetChart();
var guitarPhrases = EngineManager.GetUnisonPhrases(Instrument.FiveFretGuitar, Difficulty.Expert, GetChart(), false);
var bassPhrases = EngineManager.GetUnisonPhrases(Instrument.FiveFretBass, Difficulty.Expert, GetChart(), false);
var drumsPhrases = EngineManager.GetUnisonPhrases(Instrument.FourLaneDrums, Difficulty.Expert, GetChart(), true);
var keysPhrases = EngineManager.GetUnisonPhrases(Instrument.ProKeys, Difficulty.Expert, GetChart(), false);
var guitarPhrases = EngineManager.GetUnisonPhrases(chart.FiveFretGuitar.GetDifficulty(Difficulty.Expert), chart, false);
var bassPhrases = EngineManager.GetUnisonPhrases(chart.FiveFretBass.GetDifficulty(Difficulty.Expert), chart, false);
var drumsPhrases = EngineManager.GetUnisonPhrases(chart.FourLaneDrums.GetDifficulty(Difficulty.Expert), chart, true);
var keysPhrases = EngineManager.GetUnisonPhrases(chart.ProKeys.GetDifficulty(Difficulty.Expert), chart, false);

using (Assert.EnterMultipleScope())
{
foreach (var phrase in guitarPhrases)
{
var notes = chart.GetFiveFretTrack(Instrument.FiveFretGuitar).GetDifficulty(Difficulty.Expert).Notes;
var notes = chart.FiveFretGuitar.GetDifficulty(Difficulty.Expert).Notes;
var noteCount = notes.Count(n => n.Tick >= phrase.Tick && n.Tick < phrase.TickEnd);
Assert.That(phrase.NoteCount, Is.EqualTo(noteCount));
}
foreach (var phrase in bassPhrases)
{
var notes = chart.GetFiveFretTrack(Instrument.FiveFretBass).GetDifficulty(Difficulty.Expert).Notes;
var notes = chart.FiveFretBass.GetDifficulty(Difficulty.Expert).Notes;
var noteCount = notes.Count(n => n.Tick >= phrase.Tick && n.Tick < phrase.TickEnd);
Assert.That(phrase.NoteCount, Is.EqualTo(noteCount));
}
foreach (var phrase in drumsPhrases)
{
var notes = chart.GetDrumsTrack(Instrument.FourLaneDrums).GetDifficulty(Difficulty.Expert).Notes;
var notes = chart.FourLaneDrums.GetDifficulty(Difficulty.Expert).Notes;
var noteCount = notes.Sum(n => (n.Tick >= phrase.Tick && n.Tick < phrase.TickEnd) ? n.ChildNotes.Count + 1 : 0);
Assert.That(phrase.NoteCount, Is.EqualTo(noteCount));
}
Expand All @@ -123,10 +125,10 @@ public void EngineManagerAddsUnisonPhrasesToGlobalListCorrectly()
var engineManager = new EngineManager();
var chart = GetChart();

var guitarEngineContainer = engineManager.Register(CreateEngine(_guitarEngineParams, true, false).Engine, Instrument.FiveFretGuitar, Difficulty.Expert, chart, RockMeterPreset.Normal);
var bassEngineContainer = engineManager.Register(CreateEngine(_bassEngineParams, true, true).Engine, Instrument.FiveFretBass, Difficulty.Expert, chart, RockMeterPreset.Normal);
var drumsEngineContainer = engineManager.Register(CreateEngine(_drumsEngineParams, true).Engine, Instrument.FourLaneDrums, Difficulty.Expert, chart, RockMeterPreset.Normal);
var keysEngineContainer = engineManager.Register(CreateEngine(_keysEngineParams, true).Engine, Instrument.ProKeys, Difficulty.Expert, chart, RockMeterPreset.Normal);
var guitarEngineContainer = engineManager.Register(CreateEngine(_guitarEngineParams, true, false).Engine, chart.FiveFretGuitar.GetDifficulty(Difficulty.Expert), chart, RockMeterPreset.Normal);
var bassEngineContainer = engineManager.Register(CreateEngine(_bassEngineParams, true, true).Engine, chart.FiveFretBass.GetDifficulty(Difficulty.Expert), chart, RockMeterPreset.Normal);
var drumsEngineContainer = engineManager.Register(CreateEngine(_drumsEngineParams, true).Engine, chart.FourLaneDrums.GetDifficulty(Difficulty.Expert), chart, RockMeterPreset.Normal);
var keysEngineContainer = engineManager.Register(CreateEngine(_keysEngineParams, true).Engine, chart.Keys.GetDifficulty(Difficulty.Expert), chart, RockMeterPreset.Normal);

var globalUnisonEvents = engineManager.UnisonEvents;
using (Assert.EnterMultipleScope())
Expand Down Expand Up @@ -213,10 +215,10 @@ public void StarPowerSectionsAreNotAlmostEqualIfEndTicksAreOutsideOfTolerance()
var drumsEngine = CreateEngine(_drumsEngineParams, true);
var keysEngine = CreateEngine(_keysEngineParams, true);

var guitarContainer = manager.Register(guitarEngine.Engine, Instrument.FiveFretGuitar, Difficulty.Expert, chart, RockMeterPreset.Normal);
var bassContainer = manager.Register(bassEngine.Engine, Instrument.FiveFretBass, Difficulty.Expert, chart, RockMeterPreset.Normal);
var drumsContainer = manager.Register(drumsEngine.Engine, Instrument.FourLaneDrums, Difficulty.Expert, chart, RockMeterPreset.Normal);
var keysContainer = manager.Register(keysEngine.Engine, Instrument.ProKeys, Difficulty.Expert, chart, RockMeterPreset.Normal);
var guitarContainer = manager.Register(guitarEngine.Engine, chart.FiveFretGuitar.GetDifficulty(Difficulty.Expert), chart, RockMeterPreset.Normal);
var bassContainer = manager.Register(bassEngine.Engine, chart.FiveFretBass.GetDifficulty(Difficulty.Expert), chart, RockMeterPreset.Normal);
var drumsContainer = manager.Register(drumsEngine.Engine, chart.FourLaneDrums.GetDifficulty(Difficulty.Expert), chart, RockMeterPreset.Normal);
var keysContainer = manager.Register(keysEngine.Engine, chart.Keys.GetDifficulty(Difficulty.Expert), chart, RockMeterPreset.Normal);

return (manager, [guitarContainer, bassContainer, drumsContainer, keysContainer]);
}
Expand Down
8 changes: 4 additions & 4 deletions YARG.Core/Engine/EngineManager.Band.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public int TotalCodaBonus
var totalBonus = 0;
foreach (var engine in Engines)
{
totalBonus += engine.Engine.CurrentCodaBonus;
totalBonus += engine.BaseEngine.CurrentCodaBonus;
}

return totalBonus;
Expand All @@ -44,7 +44,7 @@ public bool CodaSuccess
{
foreach (var engine in Engines)
{
if (!engine.Engine.CodaSuccess)
if (!engine.BaseEngine.CodaSuccess)
{
return false;
}
Expand Down Expand Up @@ -74,7 +74,7 @@ private void CodaEndHandler(CodaSection coda)

foreach (var engine in Engines)
{
engine.Engine.AwardCodaBonus(success);
engine.BaseEngine.AwardCodaBonus(success);
}
}
}
Expand All @@ -83,7 +83,7 @@ private void UpdateBandMultiplier()
{
foreach (var engine in Engines)
{
engine.Engine.UpdateBandMultiplier(BandMultiplier);
engine.BaseEngine.UpdateBandMultiplier(BandMultiplier);
}
}

Expand Down
Loading
Loading