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

            BindEvents();
        }
Beispiel #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();
        }
 public CategoryDetailsPanel(IUIStateTracker defaultsHandler)
 {
     MaxWidth         = 55;
     MaxHeight        = 16;
     _defaultsHandler = defaultsHandler;
 }
Beispiel #13
0
 public CategoryPanel(IUIStateTracker defaultsHandler)
 {
     _defaultsHandler = defaultsHandler;
     _lineOffset      = 0;
     FocusNumber      = 1;
 }