public override void Initialize()
        {
            var startDelay = _data.StartDelay.RandomValue();

            Observable.Timer(TimeSpan.FromSeconds(startDelay)).Subscribe(_ =>
            {
                _tile.Intensity(Faction.Nature).Subscribe(IntensityChanged).AddTo(_disposer);
            }).AddTo(_disposer);
        }
        private void Spawn(Faction faction)
        {
            if (_model.Intensity(faction).Value == 0)
            {
                switch (faction)
                {
                case Faction.Nature when _model.Intensity(Faction.Humans).Value < 5:
                    _model.Intensity(faction).Value = 1;

                    break;

                case Faction.Humans:
                {
                    _model.Intensity(faction).Value = 1;

                    if (_model.Intensity(Faction.Nature).Value >= 5)
                    {
                        _model.Intensity(Faction.Nature).Value--;
                    }
                    break;
                }
                }
            }
        }
Ejemplo n.º 3
0
 public override void Initialize()
 {
     _model.Intensity(_faction).Subscribe(StartGrowth).AddTo(_disposer);
 }
Ejemplo n.º 4
0
 public override void Initialize()
 {
     _model.Intensity(_faction).Where(value => value == 0)
     .Subscribe(_ => _spreadIntensity = 0).AddTo(_disposer);
 }
 public override void Initialize()
 {
     _model.Intensity(_faction).Subscribe(DisplayIntensity).AddTo(_disposer);
 }