예제 #1
0
    public void InitializeView(MainViewModel model, Contexts contexts, IFactories factories)
    {
        _input    = contexts.Input;
        _settings = model.Settings;
        _config   = contexts.Config;

        model.Board.Input.RestartClicked += OnPressed;
    }
예제 #2
0
    public void InitializeView(MainViewModel model, Contexts contexts, IFactories factories)
    {
        _session = model.Board.Session;

        contexts.GameState.RegisterAddedComponentListener <GameOverComponent>(OnGameOverAdded);
        contexts.GameState.RegisterRemovedComponentListener <GameOverComponent>(OnGameOverRemoved);
        SetGameOver(contexts.GameState.IsFlagged <GameOverComponent>());
    }
    public void InitializeView(MainViewModel model, Contexts contexts, IFactories factories)
    {
        contexts.GameState.RegisterAddedComponentListener <ActionCountComponent>(OnActionCountChanged);
        contexts.Config.RegisterAddedComponentListener <MaxActionCountComponent>(OnMaxActionCountChanged);
        contexts.Config.RegisterAddedComponentListener <MapSizeComponent>(OnMapSizeChanged);

        _session            = model.Board.Session;
        _session.MaxActions = Contexts.Instance.Config.GetUnique <MaxActionCountComponent>().Value;
    }
예제 #4
0
        public void Awake()
        {
            _contexts = Contexts.Instance;

            Configure(_viewModel, _contexts);

            // The difference between a 'View' and an 'EntityListener' is that listeners are created to monitor a specific (already created) entity
            // whereas Views are being initialized once here and can monitor against any entity that may be created at any point.

            _viewModel.Views.Add <UIScoreView>();
            _viewModel.Views.Add <UIRewardView>();
            _viewModel.Views.Add <UIActionCountView>();
            _viewModel.Views.Add <UIRestartView>();
            _viewModel.Views.Add <UIGameOverView>();
            _viewModel.Views.Add <UIComboView>();
            _viewModel.Views.Add <UISettingsSync>();

            _factories = new TestFactories
            {
                ElementFactory = new ElementPool()
            };

            _services = new TestServices
            {
                ViewService    = new TestViewService(_contexts, _viewModel, _factories),
                InputService   = new TestInputService(_contexts, _viewModel, _factories),
                TimeService    = new TestTimeService(_contexts, _viewModel, _factories),
                ElementService = new TestElementService(_contexts, _viewModel, _factories),
            };

            _rootSystems = new RootSystems(_contexts, _services);
            _rootSystems.Initialize();

            StartUpdateTimer();

            StartGame();
        }
예제 #5
0
    public void RegisterListeners(MainViewModel model, ElementViewModel element, Contexts contexts, IFactories factories, GameEntity entity)
    {
        _board   = model.Board;
        _element = element;

        entity.RegisterAddedComponentListener <SelectedComponent>(OnSelected);
        entity.RegisterRemovedComponentListener <SelectedComponent>(OnDeselected);
    }
예제 #6
0
 public void InitializeView(MainViewModel model, Contexts contexts, IFactories factories)
 {
     _session = model.Board.Session;
     contexts.GameState.RegisterAddedComponentListener <ScoreComponent>(OnScoreChanged);
 }
예제 #7
0
 public TestViewService(Contexts contexts, MainViewModel viewModel, IFactories factories) : base(contexts, viewModel, factories)
 {
     LoadViews();
 }
예제 #8
0
 public IGrabableItem GetUsedOutcomeItem(IFactories factories)
 {
     return(null);
 }
    public void RegisterListeners(MainViewModel model, ElementViewModel element, Contexts contexts, IFactories factories, GameEntity entity)
    {
        _board          = model.Board;
        _element        = element;
        _elementFactory = factories.ElementFactory;

        contexts.Game.RegisterAddedComponentListener <DestroyedComponent>(entity, OnEntityDestroyed);
    }
예제 #10
0
 public IGrabableItem Fill(IFactories factories)
 {
     return(factories.PotionFactories[15].Create(new PotionInitializer()));
 }
예제 #11
0
    public void InitializeView(MainViewModel model, Contexts contexts, IFactories factories)
    {
        _comboDefinitions = model.Settings.ComboDefinitions.Definitions;

        contexts.Game.RegisterAddedComponentListener <ComboComponent>(OnComboAdded);
    }
예제 #12
0
 public Fountain(IFactories factories)
 {
     Factories = factories;
 }
예제 #13
0
 public IGrabableItem GetUsedOutcomeItem(IFactories factories)
 {
     return(factories.PotionFactories[20].Create(new PotionInitializer()));
 }
예제 #14
0
 public void InitializeView(MainViewModel model, Contexts contexts, IFactories factories)
 {
     _model  = model;
     _config = contexts.Config;
     _model.Settings.PropertyChanged += Settings_PropertyChanged;
 }
예제 #15
0
 public LegacyLeader(IFactories factorie)
 {
     this.factorie = factorie;
     //InitMocap();
 }
예제 #16
0
 public IGrabableItem  Fill(IFactories factories)
 {
     ChargeCount = 4;
     return(this);
 }
예제 #17
0
    // private Vector3 _targetPosition;

    public void RegisterListeners(MainViewModel model, ElementViewModel element, Contexts contexts, IFactories factories, GameEntity entity)
    {
        _settings = model.Settings;
        _board    = model.Board;
        _element  = element;
        _entity   = entity;

        contexts.Game.RegisterAddedComponentListener <PositionComponent>(_entity, OnPositionChanged);

        var position = contexts.Game.Get <PositionComponent>(_entity);

        OnPositionChanged((_entity, position));
    }
예제 #18
0
 public TestElementService(Contexts contexts, MainViewModel viewModel, IFactories factories) : base(contexts, viewModel, factories)
 {
     _entityCounter = 0;
     _game          = contexts.Game;
 }
예제 #19
0
 public LegacySpellCreator(IFactories factories)
 {
     Factories    = factories;
     symbolTokens = Factories.SpellSymbols.ToDictionary(t => t.Name.ToLowerInvariant());
 }
예제 #20
0
 public TestTimeService(Contexts contexts, MainViewModel viewModel, IFactories factories) : base(contexts, viewModel, factories)
 {
 }
예제 #21
0
    public void RegisterListeners(MainViewModel model, ElementViewModel element, Contexts contexts, IFactories factories, GameEntity entity)
    {
        _board   = model.Board;
        _element = element;
        _entity  = entity;

        contexts.Game.RegisterAddedComponentListener <ColorComponent>(_entity, OnColorAdded);
    }
예제 #22
0
 public TestInputService(Contexts context, MainViewModel viewModel, IFactories factories) : base(context, viewModel, factories)
 {
 }
예제 #23
0
 public Service(Contexts contexts, MainViewModel viewModel, IFactories factories)
 {
     _contexts  = contexts;
     _factories = factories;
     _viewModel = viewModel;
 }