Esempio n. 1
0
        private void HandleSelectedShipPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (_currentShip != null)
            {
                _currentShip.PropertyChanged -= HandleCurrentShipPropertyChanged;
            }

            _currentShip = _selectedShip.Value;
            _currentShip.PropertyChanged += HandleCurrentShipPropertyChanged;

            HandleCurrentShipPropertyChanged(this, new PropertyChangedEventArgs(null));
        }
Esempio n. 2
0
        private void HandleSelectedShipPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            if (_currentShip != null)
            {
                _currentShip.ShipStatus.PropertyChanged -= HandleCurrentShipShipStatusChanged;
            }

            _currentShip = _selectedShip.Value;

            _currentShip.ShipStatus.PropertyChanged += HandleCurrentShipShipStatusChanged;

            HandleCurrentShipShipStatusChanged(this, new PropertyChangedEventArgs(null));
        }
        public ShipViewModel(IShipReadOnly ship, IValueHolderReadOnly <double> metersPerPixel,
                             IValueHolderReadOnly <double> seaMapSizeInPixels, IValueHolder <IShipReadOnly> selectedShip)
        {
            _ship = ship;
            _ship.PropertyChanged += HandleShipPropertyChanged;

            _metersPerPixel = metersPerPixel;
            _metersPerPixel.PropertyChanged += HandleMetersPerPixelPropertyChanged;
            _seaMapSizeInPixels              = seaMapSizeInPixels;

            _selectedShip = selectedShip;
            _selectedShip.PropertyChanged += HandleSelectedShipPropertyChanged;

            UpdateShape();
        }
Esempio n. 4
0
 public void SetRequestedSailLevel(IShipReadOnly ship, SailLevelChange sailLevelChange)
 {
     _shipsByIndex[ship.Index].CurrentShipOrder.SetSailLevelChange(sailLevelChange);
 }
Esempio n. 5
0
 public void AddMovementOrder(IShipReadOnly ship, MovementOrder movementOrder)
 {
     _shipsByIndex[ship.Index].CurrentShipOrder.MovementOrders.Add(movementOrder);
 }
Esempio n. 6
0
 public void RemoveMovementOrderFromShip(IShipReadOnly ship, MovementOrder movementOrder)
 {
     _shipsByIndex[ship.Index].CurrentShipOrder.MovementOrders.Remove(movementOrder);
 }