public override int Execute(LogicLevel level) { if (LogicDataTables.GetGlobals().UseNewTraining()) { LogicUnitProduction unitProduction = this.m_gameObjectId == -2 ? level.GetGameObjectManager().GetUnitProduction() : this.m_gameObjectId == -1 ? level.GetGameObjectManager().GetSpellProduction() : null; if (unitProduction != null) { unitProduction.SetBoostPause(false); this.UpdateProductionHouseListeners(level); } return(0); } LogicGameObject gameObject = level.GetGameObjectManager().GetGameObjectByID(this.m_gameObjectId); if (gameObject != null && gameObject.GetGameObjectType() == LogicGameObjectType.BUILDING && gameObject.IsBoostPaused()) { LogicBuilding building = (LogicBuilding)gameObject; if (building.CanStopBoost()) { building.SetBoostPause(false); building.GetListener().RefreshState(); return(0); } } return(-1); }