public BattleSubMenuModel(BattleActionProcessor battleActionModel, GridMenuNavigation navigation) { _subMenuNavigation = navigation; _battleActionProcessor = battleActionModel; SetSubMenu(SubMenu.Attack); _targetSelectionIndex = GetFirstEnemyFighterIndex(); }
private void StopBattle() { _battleState = BattleState.Over; Destroy(_battleMenuView.gameObject); Destroy(_battleSubMenuView.gameObject); _battleActionProcessor = null; _battleMenuModel = null; _battleSubMenuModel = null; _battleOverCanvas.SetActive(true); }
public void InitPartyMemberView(BattleActionProcessor battleActionProcessor) { foreach (var view in partyMemberViews) { Fighter fighter = battleActionProcessor.battleParties.viewFighterDict[view]; view.fighterName.text = fighter.name; view.health.text = fighter.health + "/" + fighter.maxHealth; view.mana.text = fighter.mana + "/" + fighter.maxMana; activeBlinks.Add(view.ActivePanel); view.Show(); } }
void Start() { _menuLevel = MenuLevel.Root; _battleState = BattleState.OnGoing; var battleParties = new BattleParties(battleField, _battleMenuView.GetPartyMemberViews()); _battleMenuModel = new BattleMenuModel(_battleMenuView.GetPartyMemberViews(), _battleMenuView.gridNavigationMenu); _battleActionProcessor = new BattleActionProcessor(battleParties); _battleSubMenuModel = new BattleSubMenuModel(_battleActionProcessor, _battleSubMenuView.gridNavigationMenu); _battleMenuView.InitPartyMemberView(_battleActionProcessor); _battleActionProcessor.StartCoroutines(this); SetRootMenuEvents(); SetSubMenuEvents(); SetBattleActionProcessorEvents(); }
public void UpdateView(BattleActionProcessor battleActionProcessor) { if (battleActionProcessor.ActiveFighter == null) { Hide(); SetPartyMemberBlink(battleActionProcessor.LastActiveFighterIndex, false); return; } if (battleActionProcessor.ActiveFighter != battleActionProcessor.LastActiveFighter && battleActionProcessor.LastActiveFighter != null) { SetPartyMemberBlink(battleActionProcessor.LastActiveFighterIndex, false); } Show(); SetPartyMemberBlink(battleActionProcessor.ActiveFighterIndex, true); foreach (var view in partyMemberViews) { Fighter fighter = battleActionProcessor.battleParties.viewFighterDict[view]; view.health.text = fighter.health + "/" + fighter.maxHealth; view.mana.text = fighter.mana + "/" + fighter.maxMana; } }
public void SetUp() { classUnderTest = new BattleActionProcessor(); }