Esempio n. 1
0
 public static void ValidateAssetDefId(this GameDef gameDef, AssetDefId assetDefId, string hint)
 {
     if (!gameDef.Assets.Any(x => x.Id.Equals(assetDefId)))
     {
         throw new InvalidGameDefException($"Asset '{assetDefId}' not found. Check '{hint}'!");
     }
 }
Esempio n. 2
0
 private void AddAsset(PlayerId playerId, AssetDefId assetDefId)
 {
     logger.LogDebug("Adding asset '{assetDefId}' to player '{playerId}'", assetDefId, playerId);
     Assets(playerId).Add(new Asset {
         AssetDefId = assetDefId,
         Level      = 1
     });
 }
Esempio n. 3
0
 public AssetAlreadyQueuedException(AssetDefId assetDefId) : base($"Asset '{assetDefId.Id}' already queued.")
 {
 }
Esempio n. 4
0
 public static AssetDef?GetAssetDef(this GameDef gameDef, AssetDefId assetDefId)
 {
     return(gameDef.Assets.SingleOrDefault(x => x.Id.Equals(assetDefId)));
 }
Esempio n. 5
0
 // The first asset in prerequisites is the primary asset, where the unit can be built
 public static IEnumerable <UnitDef> GetUnitsForAsset(this GameDef gameDef, AssetDefId id)
 {
     return(gameDef.Units.Where(x => x.Prerequisites.Count > 0 && x.Prerequisites.First().Equals(id)));
 }
Esempio n. 6
0
 public int TicksLeft(PlayerId playerId, AssetDefId assetDefId)
 {
     return(actionQueueRepository.TicksLeft(playerId, AssetBuildActionConstants.Name, new Dictionary <string, string> {
         { AssetBuildActionConstants.AssetDefId, assetDefId.Id }
     }).Tick);
 }
Esempio n. 7
0
 public bool IsBuildQueued(PlayerId playerId, AssetDefId assetDefId)
 {
     return(actionQueueRepository.IsQueued(playerId, AssetBuildActionConstants.Name, new Dictionary <string, string> {
         { AssetBuildActionConstants.AssetDefId, assetDefId.Id }
     }));
 }
Esempio n. 8
0
 public bool HasAsset(PlayerId playerId, AssetDefId assetDefId)
 {
     return(GetAssets(playerId).Any(x => x.AssetDefId.Equals(assetDefId)));
 }
Esempio n. 9
0
 public AssetNotFoundException(AssetDefId assetDefId) : base($"Asset '{assetDefId.Id}' does not exist.")
 {
 }
Esempio n. 10
0
 public AssetAlreadyBuiltException(AssetDefId assetDefId) : base($"Asset '{assetDefId.Id}' already built.")
 {
 }