void Start() { MVRPModel model = new MVRPModel(); MVRPUseCase useCase = new MVRPUseCase(model); Input.InjectModel(model); Collision.InjectModel(model); MVRPPresenter presenter = new MVRPPresenter(model, View); }
public MVRPUseCase(MVRPModel model) { Model = model; model.GameState.Subscribe(_state => { if (_state == GameStates.Title) { CreateWalls(); } }); MainThreadDispatcher.UpdateAsObservable() .Subscribe(_ => Update()); }
public MVRPPresenter(MVRPModel model, MVRPView view) { model.CubePosition.Subscribe( position => view.SetCubePosition(position)); model.GameState.Subscribe( _newState => view.OnGameStateChange(_newState)); model.OnWallsChanged.Subscribe(_ => { view.DestroyAllWalls(); view.CreateWalls(model.Walls); }); }
public void InjectModel(MVRPModel model) { Model = model; }