/// <summary>
 ///
 /// </summary>
 public MonstersWidgetPlugin()
 {
     _viewModel             = new RoomMonstersViewModel();
     _monstersWidgetControl = new MonstersWidgetControl {
         DataContext = _viewModel
     };
 }
Exemple #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RoomMonstersUnit"/> class.
        /// </summary>
        /// <param name="messageConveyor">The message conveyor.</param>
        /// <param name="monstersWidgetControl">The monsters widget control.</param>
        /// <param name="roomMonstersViewModel">The room monsters view model.</param>
        public RoomMonstersUnit([NotNull] MessageConveyor messageConveyor, [NotNull] MonstersWidgetControl monstersWidgetControl, [NotNull] RoomMonstersViewModel roomMonstersViewModel)
            : base(messageConveyor)
        {
            Assert.ArgumentNotNull(messageConveyor, "messageConveyor");
            Assert.ArgumentNotNull(monstersWidgetControl, "monstersWidgetControl");
            Assert.ArgumentNotNull(roomMonstersViewModel, "roomMonstersViewModel");

            _monstersWidgetControl = monstersWidgetControl;
            _roomMonstersViewModel = roomMonstersViewModel;
        }
        public void UpdateModel([NotNull] List <MonsterStatus> characters)
        {
            Assert.ArgumentNotNull(characters, "roomMonstersMessage");

            Action actToExecute = () =>
            {
                RoomMonstersViewModel viewModel = DataContext as RoomMonstersViewModel;
                viewModel.UpdateModel(characters);
            };

            Application.Current.Dispatcher.BeginInvoke(actToExecute, DispatcherPriority.Background);
        }
        /// <summary>
        ///
        /// </summary>
        public void PreviousMonster()
        {
            Action executeToAct = () =>
            {
                if (this.DataContext != null)
                {
                    RoomMonstersViewModel _roomMonstersViewModel = (RoomMonstersViewModel)this.DataContext;
                    if (_roomMonstersViewModel.SelectedMonster == null || _roomMonstersViewModel.Monsters.IndexOf(_roomMonstersViewModel.SelectedMonster) == 0)
                    {
                        _roomMonstersViewModel.SelectedMonster = _roomMonstersViewModel.Monsters.LastOrDefault();
                        return;
                    }

                    var index = _roomMonstersViewModel.Monsters.IndexOf(_roomMonstersViewModel.SelectedMonster);
                    _roomMonstersViewModel.SelectedMonster = _roomMonstersViewModel.Monsters[index - 1];
                }
            };

            Application.Current.Dispatcher.BeginInvoke(executeToAct, DispatcherPriority.Background);
        }