Пример #1
0
        public CombatUI(ICombatController combatController,
                        IUICharacterManager uiCharacterManager,
                        GameUIConstants gameUIConstants,
                        IUIContainer uiContainer,
                        UserInput userInput,
                        IUIStateTracker defaultsHandler,
                        IDisplayManager displayManager,
                        IDisplayCombatState combatStateHandler)
        {
            _combatController   = combatController;
            _displayManager     = displayManager;
            _combatStateHandler = combatStateHandler;
            _defaultsHandler    = defaultsHandler;

            _uiCharacterManager                      = uiCharacterManager;
            _uiCharacterManager.Characters           = _displayManager.GetDisplayCharacters();
            _uiCharacterManager.CurrentRoundOrderIds = _combatStateHandler.GetRoundOrderIds()[0];
            _uiCharacterManager.NextRoundOrderIds    = _combatStateHandler.GetRoundOrderIds()[1];

            _uiContainer = uiContainer;

            _userInput = userInput;

            BindEvents();
            RefreshActionPanelList();
        }
Пример #2
0
        public CharacterPanel(IStatsSubPanel statsSubPanel,
                              IDamageTypesSubPanel armorSubPanel,
                              IDamageTypesSubPanel damageSubPanel,
                              IDamageTypesSubPanel resistanceSubPanel,
                              IDamageTypesSubPanel damagePercentSubPanel,
                              IOffensiveSubPanel offensiveSubPanel,
                              IUIStateTracker uiStateTracker,
                              IUICharacterManager uiCharacterManager)
        {
            MaxHeight           = 31;
            MaxWidth            = 40;
            MinPrimaryBlockSize = 6;
            FocusNumber         = 1;
            _statsSubPanel      = statsSubPanel;
            _armorSubPanel      = armorSubPanel;
            // All panels on the right side must have max size deducted by 1 to make room for space seperator
            _armorSubPanel.PanelName = "Armor";
            _armorSubPanel.MaxWidth--;
            _damageSubPanel               = damageSubPanel;
            _damageSubPanel.PanelName     = "Damage";
            _resistanceSubPanel           = resistanceSubPanel;
            _resistanceSubPanel.PanelName = "Resistances";
            _resistanceSubPanel.MaxWidth--;
            _damagePercentSubPanel           = damagePercentSubPanel;
            _damagePercentSubPanel.PanelName = "Bonus Damage";
            _offensiveSubPanel  = offensiveSubPanel;
            _uiStateTracker     = uiStateTracker;
            _uiCharacterManager = uiCharacterManager;
            _offensiveSubPanel.MaxWidth--;
            IsSubPanelActive = false;

            BindEvents();
        }
Пример #3
0
 public CommandPanel(IUIStateTracker defaultsHandler)
 {
     _maxActionNameLength = 12;
     MaxHeight            = 16;
     MaxWidth             = 17;
     _defaultsHandler     = defaultsHandler;
     FocusNumber          = 1;
 }
Пример #4
0
 public TurnOrderPanel(IUIStateTracker defaultsHandler,
                       IDisplayCombatState combatStateHandler,
                       IUICharacterManager uiCharacterManager)
 {
     MaxWidth            = 51;
     _defaultsHandler    = defaultsHandler;
     _combatStateHandler = combatStateHandler;
     _uiCharacterManager = uiCharacterManager;
 }
Пример #5
0
 public TargetPanel(IUIStateTracker defaultsHandler,
                    IUICharacterManager uiCharacterManager,
                    IDisplayCombatState combatStateHandler)
 {
     _widthOfHealthBar   = _maxWidth - 2;
     _defaultsHandler    = defaultsHandler;
     _uiCharacterManager = uiCharacterManager;
     _combatStateHandler = combatStateHandler;
 }
Пример #6
0
 public ActionPanel(IUIStateTracker defaultsHandler)
 {
     _defaultsHandler    = defaultsHandler;
     _lineOffset         = 0;
     FocusNumber         = 1;
     MaxHeight           = 16;
     MaxActionNameLength = 20;
     MaxActionsPerLine   = 2;
 }
Пример #7
0
 public ActionDetailsPanel(IViewModelController viewModelController,
                           IDisplayManager displayManager,
                           IUIStateTracker defaultsHandler)
 {
     MaxWidth             = 55;
     MaxHeight            = 16;
     _viewModelController = viewModelController;
     _displayManager      = displayManager;
     _defaultsHandler     = defaultsHandler;
 }
Пример #8
0
 public FormationPanel(IUIStateTracker defaultsHandler,
                       IUICharacterManager uiCharacterManager)
 {
     TargetPositions     = new List <int>();
     _characters         = new List <IDisplayCharacter>();
     MaxWidth            = 119;
     MaxHeight           = 31;
     _defaultsHandler    = defaultsHandler;
     _uiCharacterManager = uiCharacterManager;
 }
Пример #9
0
 public StatusEffectsPanel(IViewModelController viewModelController,
                           IUIStateTracker defaultsHandler)
 {
     MaxWidth             = 55;
     MaxHeight            = 16;
     _viewModelController = viewModelController;
     _defaultsHandler     = defaultsHandler;
     _maxFocusNumber      = 1;
     FocusNumber          = 1;
 }
Пример #10
0
        public UserInput(IUIStateTracker defaultsHandler,
                         IUIContainer uiContainer,
                         IUICharacterManager uiCharacterManager,
                         GameUIConstants gameUIConstants)
        {
            _defaultsHandler    = defaultsHandler;
            _uiContainer        = uiContainer;
            _uiCharacterManager = uiCharacterManager;
            _gameUIConstants    = gameUIConstants;

            BindEvents();
        }
Пример #11
0
        public UIContainer(IFormationPanel formationPanel,
                           ITargetPanel targetPanel,
                           ICommandPanel commandPanel,
                           IActionPanel actionPanel,
                           ITurnOrderPanel turnOrderPanel,
                           IActionDetailsPanel actionDetailsPanel,
                           ICategoryDetailsPanel categoryDetailsPanel,
                           ICombatLogPanel combatLogPanel,
                           ICharacterPanel characterPanel,
                           IStatusEffectsPanel statusEffectsPanel,
                           IStatsDetailsPanel statsDetailsPanel,
                           ICategoryPanel categoryPanel,
                           IUIStateTracker uiStateTracker,
                           IUICharacterManager uiCharacterManager,
                           ScreenBuffer screenBuffer)
        {
            _formationPanel           = formationPanel;
            _targetPanel              = targetPanel;
            _commandPanel             = commandPanel;
            _actionPanel              = actionPanel;
            _turnOrderPanel           = turnOrderPanel;
            _actionDetailsPanel       = actionDetailsPanel;
            _categoryDetailsPanel     = categoryDetailsPanel;
            _combatLogPanel           = combatLogPanel;
            _characterPanel           = characterPanel;
            _statusEffectsPanel       = statusEffectsPanel;
            _statsDetailsPanel        = statsDetailsPanel;
            _categoryPanel            = categoryPanel;
            _characterPanel.MaxHeight = _formationPanel.MaxHeight;
            _uiStateTracker           = uiStateTracker;
            _uiCharacterManager       = uiCharacterManager;
            _screenBuffer             = screenBuffer;
            _commandPanel.IsActive    = true;

            BindEvents();
        }
Пример #12
0
 public CategoryDetailsPanel(IUIStateTracker defaultsHandler)
 {
     MaxWidth         = 55;
     MaxHeight        = 16;
     _defaultsHandler = defaultsHandler;
 }
Пример #13
0
 public CategoryPanel(IUIStateTracker defaultsHandler)
 {
     _defaultsHandler = defaultsHandler;
     _lineOffset      = 0;
     FocusNumber      = 1;
 }