Beispiel #1
0
        public void Init(
            [NotNull] GameViewModel game, [NotNull] UnitView unitPrefab,
            [NotNull] UnitBuyView placeholderPrefab, [NotNull] UnitInfoView infoView)
        {
            Assert.IsNotNull(game, nameof(game));
            Assert.IsNotNull(unitPrefab, nameof(unitPrefab));
            Assert.IsNotNull(placeholderPrefab, nameof(placeholderPrefab));
            Assert.IsNotNull(infoView, nameof(infoView));

            _game        = game;
            _unitPrefab  = unitPrefab;
            _placeholder = UnityEngine.Object.Instantiate(placeholderPrefab);
            _infoView    = infoView;

            foreach (var unit in game.Units)
            {
                if (unit.Type == _type)
                {
                    OnAddUnit(unit);
                }
            }
            game.Units
            .ObserveAdd()
            .Where(e => e.Value.Type == _type)
            .Subscribe(e => OnAddUnit(e.Value));
            UpdatePlaceholder();
        }
Beispiel #2
0
        public void Init(
            [NotNull] GameViewModel game, [NotNull] UnitInfoView infoView, [NotNull] UnitViewModel viewModel)
        {
            Assert.IsNotNull(game, nameof(game));
            Assert.IsNotNull(infoView, nameof(infoView));
            Assert.IsNotNull(viewModel, nameof(viewModel));

            _game     = game;
            _infoView = infoView;
            ViewModel = viewModel;
            viewModel.Sprite
            .Subscribe(s => _image.sprite = s);
            _button.onClick.AsObservable()
            .Subscribe(_ => OnClick());

            _incomeView.Init(game, viewModel.Income);
        }