public void RegisterAbility(int slot, TankAbility tankAbility, Action <TankSectionAbility> onHoverAbility, Action <TankSectionAbility> onPressedAbility) { var sectionAbility = sectionAbilityPool.GetInstance <TankSectionAbility>(); sectionAbility.Initialize(tankAbility, onPressedAbility, onHoverAbility); sectionAbilities.Add(sectionAbility); }
public void Initialize(GameState gameState) { foreach (var sectionState in gameState.tankState.tankSectionState) { var tankSection = sectionPanelPool.GetInstance <TankSectionPanel>(); tankSection.Initialize(sectionState.tankSection); sectionPanels.Add(tankSection); } UpdateState(gameState); }
public void InitializeTankParts(GameState gameState) // List<TankPartState> tankPartStates) { for (int i = 0; i < gameState.tankState.tankSectionState.Count; i++) { var tankPartState = gameState.tankState.tankSectionState[i]; var crewMember = gameState.crewMemberStates.FirstOrDefault(x => x.TankPart == tankPartState.tankSection); var sectionPanel = tankSectionPanelPool.GetInstance <TankSectionAbilities>(); sectionPanel.Initialize(tankPartState.tankSection, crewMember); abilitySections.Add(sectionPanel); } }