riversong code showcase

This commit is contained in:
Daniele Marotta
2026-05-21 15:52:18 +02:00
commit 4c9eea1c02
462 changed files with 23406 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
namespace DanieleMarotta.RiversongCodeShowcase
{
public class Building : Entity, IBuildingShape, IProductStorageEntity, IAgentSourceEntity
{
private ProductStorage _storage;
private ProductStoragePolicyState _productStoragePolicy;
private BuildingProductionState _productionState;
private AgentSourceState _agentsState;
private PopulationNeedsState _needsState;
private BuildingSleepState _sleepState;
public BuildingDefinition Definition { get; set; }
public TileRect Rect { get; set; }
public Directions Orientation { get; set; }
public int WeekCreated { get; set; }
public int TierIndex { get; set; }
public int PopulationCapacity { get; set; }
public float SpawnCooldown => Definition.SpawnCooldown;
public ref ProductStorage GetStorageRW()
{
return ref _storage;
}
public ref ProductStoragePolicyState GetProductStoragePolicyRW()
{
return ref _productStoragePolicy;
}
public ref BuildingProductionState GetProductionStateRW()
{
return ref _productionState;
}
public ref AgentSourceState GetAgentSourceStateRW()
{
return ref _agentsState;
}
public ref PopulationNeedsState GetNeedsStateRW()
{
return ref _needsState;
}
public ref BuildingSleepState GetSleepStateRW()
{
return ref _sleepState;
}
}
}