예제 #1
0
        protected override int GetAdditionalValuePerSupplyBox(ScopedAssetCollection <UpgradeTemplate> upgrades)
        {
            // this is also hardcoded in original SAGE, replaced by BonusScience and BonusScienceMultiplier (SupplyCenterDockUpdate) in later games
            var upgradeDefinition = upgrades.GetByName("Upgrade_AmericaSupplyLines");

            return(GameObject.HasUpgrade(upgradeDefinition) ? _moduleData.UpgradedSupplyBoost : 0);
        }
예제 #2
0
        public Rank(Player player, ScopedAssetCollection <RankTemplate> rankTemplates)
        {
            _player        = player;
            _rankTemplates = rankTemplates;

            SetRank(1);
        }
예제 #3
0
 public static ControlBarScheme FindBySide(this ScopedAssetCollection <ControlBarScheme> assetCollection, string side)
 {
     // Based on a comment in PlayerTemplate.ini about how control bar schemes are chosen.
     return(assetCollection.FirstOrDefault(x => x.Side == side)
            ?? assetCollection.FirstOrDefault(x => x.Side == "Observer")
            ?? throw new InvalidOperationException("No ControlBarScheme could be found for the specified side, and no ControlBarScheme for the Observer side could be found either."));
 }
예제 #4
0
        public WindowTransitionManager(ScopedAssetCollection <WindowTransition> transitions)
        {
            _transitions = transitions;

            _transitionQueue = new Queue <WindowTransitionRequest>();
        }
예제 #5
0
 public ObjectDefinitionLookupTable(ScopedAssetCollection <ObjectDefinition> objectDefinitions)
 {
     _objectDefinitions = objectDefinitions;
     _nameLookup        = new Dictionary <ushort, string>();
 }
예제 #6
0
 protected virtual int GetAdditionalValuePerSupplyBox(ScopedAssetCollection <UpgradeTemplate> upgrades) => 0;