public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
        {
            foreach (var display in CivilizationDisplays)
            {
                display.ObjectToDisplay = GameCore.ActiveCiv;
                display.gameObject.SetActive(true);
                display.Refresh();
            }

            foreach (var panel in DefaultPanels)
            {
                panel.gameObject.SetActive(true);
            }

            Brain.ClearListeners();
            Brain.EnableCameraMovement();
            Brain.EnableCellHovering();

            Brain.ListenForTransitions(
                TransitionType.CitySelected, TransitionType.ActiveCivUnitSelected, TransitionType.ToEscapeMenu
                );

            CitySummaryManager.BuildSummaries();

            FreeTechsDisplay.gameObject.SetActive(TechCanon.GetFreeTechsForCiv(GameCore.ActiveCiv) > 0);
            FreeGreatPeopleNotification.gameObject.SetActive(FreeGreatPeopleCanon.GetFreeGreatPeopleForCiv(GameCore.ActiveCiv) > 0);

            SignalSubscriptions.Add(CoreSignals.TurnBegan.Subscribe(OnTurnBegan));
            SignalSubscriptions.Add(VisibilitySignals.CellBecameExploredByCiv.Subscribe(OnCellBecameExploredByCiv));
        }
        private void OnTechRecordClicked_ResearchFreeTech(TechnologyRecord techRecord)
        {
            if (TechCanon.IsTechAvailableToCiv(techRecord.TechToDisplay, ObjectToDisplay) &&
                TechCanon.GetFreeTechsForCiv(ObjectToDisplay) > 0
                )
            {
                TechCanon.SetTechAsDiscoveredForCiv(techRecord.TechToDisplay, ObjectToDisplay);

                TechCanon.RemoveFreeTechFromCiv(ObjectToDisplay);

                Refresh();
            }
        }