public Kh2Tests() { using (var stream = File.OpenRead(FilePath)) { save = Xe.BinaryMapper.BinaryMapping.ReadObject <SaveKh2.SaveFinalMix>(stream); } }
public SystemViewModel(SaveKh2.SaveFinalMix save) { this.save = save; ShortcutItems = new KhEnumListModel <EnumIconTypeModel <CommandType>, CommandType>(() => default(CommandType), x => { }); Pc0 = new KhEnumListModel <PlayableCharacterType>(() => save.PlayableCharacter, x => save.PlayableCharacter = x); Pc1 = new KhEnumListModel <PlayableCharacterType>(() => save.CompanionCharacter1, x => save.CompanionCharacter1 = x); Pc2 = new KhEnumListModel <PlayableCharacterType>(() => save.CompanionCharacter2, x => save.CompanionCharacter2 = x); Pc3 = new KhEnumListModel <PlayableCharacterType>(() => save.CompanionCharacter3, x => save.CompanionCharacter3 = x); Difficulty = new KhEnumListModel <Difficulty>(() => save.Difficulty, x => save.Difficulty = x); }
public void OpenStream(Stream stream) { switch (SaveKh2.GetGameVersion(stream)) { case GameVersion.Japanese: throw new SaveNotSupportedException("Japanese save file is not yet supported."); case GameVersion.American: throw new SaveNotSupportedException("American or European save file is not yet supported."); case GameVersion.FinalMix: save = SaveKh2.Read <SaveKh2.SaveFinalMix>(stream); break; case null: throw new SaveNotSupportedException("An invalid version has been specified."); default: throw new SaveNotSupportedException("The version has been recognized but it is not supported."); } RefreshUi(); }
public PlayersViewModel(SaveKh2.SaveFinalMix save) : this(save.Characters) { this.save = save; }