Inheritance: System.NotifyPropertyChangedBase
コード例 #1
0
        public void Load(MainViewModel viewModel)
        {
            viewModel.CurrentTile = null;
            viewModel.Tiles.Clear();
            viewModel.Tiles.Add(new TileViewModel()
            {
                Presenter = PresenterViewModel.Unused
            });
            var spaceData = GetSpaceData();
            foreach(var tile in spaceData.Tiles)
            {
                var tileVm = new TileViewModel();
                tileVm.Position = new System.Windows.Point(tile.X, tile.Y);
                tileVm.Main = viewModel;
                if(tile.ForcedName != null)
                {
                    tileVm.Description = tile.ForcedName;
                }
                tileVm.SelectedGestureTemplate = viewModel.GestureTemplates
                                                    .FirstOrDefault(g => g.Name.Equals(tile.GestureTemplate, StringComparison.InvariantCultureIgnoreCase));
                tileVm.SelectedPresenterTemplate = viewModel.PresenterTemplates
                                                    .FirstOrDefault(g => g.Description.Equals(tile.PresenterTemplate, StringComparison.InvariantCultureIgnoreCase));

                tileVm.FastContext = tile.Program;
                foreach(var evt in tile.Events)
                {
                    var evtVm =
                        tileVm.Events
                          .FirstOrDefault(e => e.Name.Equals(evt.Name, StringComparison.InvariantCultureIgnoreCase));
                    if(evtVm != null)
                        evtVm.Command.Script = evt.Command;
                }
                viewModel.Tiles.Add(tileVm);
            }
            viewModel.SelectTile(new System.Windows.Point(spaceData.LastX, spaceData.LastY));
        }
コード例 #2
0
 public IEnumerable<TileViewModel> NeightbourOfTile(TileViewModel tile)
 {
     return
         tile.GetNeightbours()
         .Select(n => FindTile(n.Position))
         .Where(t => t != null);
 }
コード例 #3
0
        private void Center(TileViewModel tile)
        {
            if(tile == null && ViewModel != null)
                tile = ViewModel.Tiles.FirstOrDefault();

            if(tile == null)
                return;

            var container = list.ItemContainerGenerator.ContainerFromItem(tile);
            Center((FrameworkElement)container);
        }