Track changes in valid music id because sometimes current musicid briefly changes to -1

This commit is contained in:
wcko87 2017-05-04 22:42:52 +08:00
parent 51fd7d3cd7
commit fd6a33d46c
2 changed files with 14 additions and 2 deletions

View File

@ -45,6 +45,7 @@ namespace rabi_splitter_WPF
UpdateDebugArea(process); UpdateDebugArea(process);
UpdateEntityData(process); UpdateEntityData(process);
if (snapshot.musicid >= 0) rabiRibiState.lastValidMusicId = snapshot.musicid;
prevSnapshot = snapshot; prevSnapshot = snapshot;
} }
@ -77,9 +78,14 @@ namespace rabi_splitter_WPF
#region Detect Music change #region Detect Music change
if (MusicChanged()) if (MusicChanged() && !ValidMusicChanged())
{ {
DebugLog($"Music Change: {StaticData.GetMusicName(prevSnapshot.musicid)} -> {StaticData.GetMusicName(snapshot.musicid)}"); DebugLog($"Invalid Music Change: {StaticData.GetMusicName(prevSnapshot.musicid)} -> {StaticData.GetMusicName(snapshot.musicid)}");
}
if (ValidMusicChanged())
{
DebugLog($"Valid Music Change: {StaticData.GetMusicName(rabiRibiState.lastValidMusicId)} -> {StaticData.GetMusicName(snapshot.musicid)}");
} }
#endregion #endregion
@ -216,6 +222,11 @@ namespace rabi_splitter_WPF
return prevSnapshot != null && prevSnapshot.musicid != snapshot.musicid; return prevSnapshot != null && prevSnapshot.musicid != snapshot.musicid;
} }
private bool ValidMusicChanged()
{
return rabiRibiState.lastValidMusicId >= 0 && snapshot.musicid >= 0 && rabiRibiState.lastValidMusicId != snapshot.musicid;
}
private bool MusicChangedTo(Music music) private bool MusicChangedTo(Music music)
{ {
return MusicChanged() && snapshot.CurrentMusicIs(music); return MusicChanged() && snapshot.CurrentMusicIs(music);

View File

@ -14,5 +14,6 @@ namespace rabi_splitter_WPF
class RabiRibiState class RabiRibiState
{ {
public GameStatus gameStatus = GameStatus.MENU; public GameStatus gameStatus = GameStatus.MENU;
public int lastValidMusicId = -1;
} }
} }