Exemplo n.º 1
0
        public void Save(MapId id, PSLM model)
        {
            string file = Path.Combine(MapFolderPath, id.ToInternalFileName());

            using (var bw = new BinaryWriter(File.Create(file)))
            {
                model.WriteTo(bw);
            }
        }
Exemplo n.º 2
0
    public override void Initialise(IServiceGetter modServices)
    {
        base.Initialise(modServices);
        _service  = modServices.Get <IMapService>();
        _nestedVm = modServices.Get <IMapViewModel>();
        var mapComboItems = _service.GetMapIds().Select(i => new SelectorComboBoxItem((int)i, i.ToString())).ToList();

        _viewModel = new SelectorViewModelWithoutScroll(mapComboItems, _nestedVm, id =>
        {
            _currentMap = _service.Retrieve((MapId)id);
            _nestedVm.SetModel(_currentMap);
        },
                                                        id => _service.GetMapIds().Select(i => (int)i).Contains(id));
    }
Exemplo n.º 3
0
 public void SetModel(PSLM model)
 {
     Map = model;
     Gimmicks.Clear();
     PokemonPositions.Clear();
     foreach (var gimmick in Map.GimmickSection.Items.Select(i => new MapGimmickViewModel(this, i)))
     {
         Gimmicks.Add(gimmick);
     }
     for (int i = 0; i < Map.PositionSection.Positions.Length; i++)
     {
         PokemonPositions.Add(new MapPokemonPositionViewModel(this, Map.PositionSection.Positions, i));
     }
     Draw();
 }
Exemplo n.º 4
0
 public void IdenticalThroughLoadSaveCycle()
 {
     foreach (var file in Directory.GetFiles(Path.Combine(TestConstants.TestModFolder, RanseiLink.Core.Services.Constants.MapFolderPath)))
     {
         var    unchangedBytes = File.ReadAllBytes(file);
         string temp           = Path.GetTempFileName();
         PSLM   map;
         using (var br = new BinaryReader(File.OpenRead(file)))
         {
             map = new PSLM(br);
         }
         using (var bw = new BinaryWriter(File.Create(temp)))
         {
             map.WriteTo(bw);
         }
         var shouldBeUnchangedBytes = File.ReadAllBytes(temp);
         File.Delete(temp);
         shouldBeUnchangedBytes.Should().Equal(unchangedBytes);
     }
 }