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(); } }