コード例 #1
0
 public SystemViewModel(ISaveKh2 save)
 {
     this.save     = save;
     ShortcutItems = new KhEnumListModel <EnumIconTypeModel <CommandType>, CommandType>(() => default(CommandType), x => { });
     Difficulty    = new KhEnumListModel <Difficulty>(() => save.Difficulty, x => save.Difficulty = x);
     Worlds        = new KhEnumListModel <WorldType>();
 }
コード例 #2
0
 public SystemViewModel(ISaveKh2 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);
     Worlds        = new KhEnumListModel <WorldType>();
 }
コード例 #3
0
 public void OpenStream(Stream stream)
 {
     try
     {
         save = SaveKh2.Read(stream);
         RefreshUi();
     }
     catch (NotImplementedException ex)
     {
         throw new SaveNotSupportedException(ex.Message);
     }
 }
コード例 #4
0
 public WorldViewModel(ISaveKh2 save, int index)
 {
     _save  = save;
     _world = (WorldType)index;
     Pc0    = new KhEnumListModel <PlayableCharacterType>(
         () => save.WorldPartyMembers[index].PlayableCharacter,
         x => save.WorldPartyMembers[index].PlayableCharacter = x);
     Pc1 = new KhEnumListModel <PlayableCharacterType>(
         () => save.WorldPartyMembers[index].CompanionCharacter1,
         x => save.WorldPartyMembers[index].CompanionCharacter1 = x);
     Pc2 = new KhEnumListModel <PlayableCharacterType>(
         () => save.WorldPartyMembers[index].CompanionCharacter2,
         x => save.WorldPartyMembers[index].CompanionCharacter2 = x);
     Pc3 = new KhEnumListModel <PlayableCharacterType>(
         () => save.WorldPartyMembers[index].CompanionCharacter3,
         x => save.WorldPartyMembers[index].CompanionCharacter3 = x);
 }
コード例 #5
0
        public WorldViewModel(ISaveKh2 save, int index)
        {
            _save  = save;
            _world = (WorldType)index;
            Pc0    = new KhEnumListModel <PlayableCharacterType>(
                () => save.WorldPartyMembers[index].PlayableCharacter,
                x => save.WorldPartyMembers[index].PlayableCharacter = x);
            Pc1 = new KhEnumListModel <PlayableCharacterType>(
                () => save.WorldPartyMembers[index].CompanionCharacter1,
                x => save.WorldPartyMembers[index].CompanionCharacter1 = x);
            Pc2 = new KhEnumListModel <PlayableCharacterType>(
                () => save.WorldPartyMembers[index].CompanionCharacter2,
                x => save.WorldPartyMembers[index].CompanionCharacter2 = x);
            Pc3 = new KhEnumListModel <PlayableCharacterType>(
                () => save.WorldPartyMembers[index].CompanionCharacter3,
                x => save.WorldPartyMembers[index].CompanionCharacter3 = x);

            Scripts = Enumerable.Range(0, 64)
                      .Select(x => new MapScriptModel(_world, x, _save.PlaceScripts[(int)_world * 64 + x]))
                      .ToList();
        }
コード例 #6
0
 public DriveFormsViewModel(ISaveKh2 save, IResourceGetter resourceGetter) :
     this(save.DriveForms.Select((x, index) => new DriveFormViewModel(x, GetDriveFormType(index, save.IsFinalMix), resourceGetter)))
 {
     this.save = save;
 }
コード例 #7
0
 public WorldsViewModel(ISaveKh2 save) :
     this(Enumerable.Range(0, Constants.WorldCount).Select(i => new WorldViewModel(save, i)))
 {
 }
コード例 #8
0
 public InventoryViewModel(ISaveKh2 save) :
     base(save.InventoryCount.Select((_, i) => new InventoryItemModel(i, save.InventoryCount)))
 {
 }
コード例 #9
0
 public CharactersViewModel(ISaveKh2 save, IResourceGetter resourceGetter) :
     this(save.Characters.Select((pc, index) => new CharacterViewModel(pc, index, resourceGetter)))
 {
     this.save = save;
 }
コード例 #10
0
 public CharactersViewModel(ISaveKh2 save) :
     this(save.Characters)
 {
     this.save = save;
 }