public UiController(IUiView uiView, IPlayerModel playerModel, IGameController gameController)
 {
     _gameController = gameController;
     _playerModel    = playerModel;
     _uiView         = uiView;
     InitView();
     _uiView.BuffCollector = playerModel.BuffCollector;
     _uiView.Start();
     _gameController.OnGameRestart += EndGame;
 }
 private void EndGame()
 {
     _playerModel.OnHealthChanged       -= OnPlayerModelOnOnHealthChanged;
     _playerModel.OnArmorChanged        -= OnPlayerModelOnOnArmorChanged;
     _playerModel.OnAttackValueChanged  -= OnPlayerModelOnOnAttackValueChanged;
     _playerModel.OnVampireValueChanged -= OnPlayerModelOnOnVampireValueChanged;
     _playerModel    = null;
     _gameController = null;
     _uiView.EndGame();
     _uiView = null;
 }
예제 #3
0
    protected GameControllerBase(IMapView mapView, IUiView uiView, IMapModel mapModel, IMapSaver mapSaver)
    {
        this.mapView  = mapView;
        this.uiView   = uiView;
        this.mapModel = mapModel;
        this.mapSaver = mapSaver;

        mapModel.OnPathChanged += OnPathChanged;

        uiView.OnFindPathPressed        += OnFindPathPressed;
        uiView.OnAddObstaclesPressed    += OnAddObstaclesPressed;
        uiView.OnRemoveObstaclesPressed += OnRemoveObstaclesPressed;
        uiView.OnEditStartPointPressed  += OnEditStartPointPressed;
        uiView.OnEditGoalPointPressed   += OnEditGoalPointPressed;
        uiView.OnClearPathPressed       += OnClearPathPressed;
        uiView.OnClearMapPressed        += OnClearMapPressed;
        uiView.OnSaveMapPressed         += OnSaveMapPressed;

        mapView.onStart += LoadMap;
    }
예제 #4
0
 public GameController(IMapView view, IUiView uiView, IMapModel mapModel, IPathFinder pathFinder, IMapSaver mapSaver)
     : base(view, uiView, mapModel, mapSaver)
 {
     this.pathFinder = pathFinder;
 }
예제 #5
0
 public void Register <TUiView>(IUiView view)
 {
     _views.Add(typeof(TUiView), view);
 }