riversong code showcase
This commit is contained in:
68
Source/Riversong/Game/World/World.cs
Normal file
68
Source/Riversong/Game/World/World.cs
Normal file
@@ -0,0 +1,68 @@
|
||||
using System;
|
||||
using Unity.Mathematics;
|
||||
|
||||
namespace DanieleMarotta.RiversongCodeShowcase
|
||||
{
|
||||
public class World : IDisposable
|
||||
{
|
||||
public int Seed { get; set; }
|
||||
|
||||
public int2 Size { get; set; }
|
||||
|
||||
public WorldHeightmap Heightmap { get; set; }
|
||||
|
||||
public BlockMap BlockMap { get; set; }
|
||||
|
||||
public FertilityMap Fertility { get; set; }
|
||||
|
||||
public WaterMap WaterMap { get; set; }
|
||||
|
||||
public RawResourcesState RawResources { get; } = new();
|
||||
|
||||
public ProductStacksState ProductStacks { get; } = new();
|
||||
|
||||
public EntityIdMap EntityIdMap { get; set; }
|
||||
|
||||
public RoadNetwork RoadNetwork { get; set; }
|
||||
|
||||
public WorldTimeState TimeState { get; } = new();
|
||||
|
||||
public WorldAgentsState AgentsState { get; } = new();
|
||||
|
||||
public WorldCritterHerdsState CritterHerdsState { get; } = new();
|
||||
|
||||
public WorldProductionState ProductionState { get; } = new();
|
||||
|
||||
public UnlocksState UnlocksState { get; } = new();
|
||||
|
||||
public WorldPopulationState PopulationState { get; } = new();
|
||||
|
||||
public OnboardingState OnboardingState { get; } = new();
|
||||
|
||||
public bool Contains(int2 p)
|
||||
{
|
||||
return p.x >= 0 && p.x < Size.x && p.y >= 0 && p.y < Size.y;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Heightmap?.Dispose();
|
||||
Heightmap = null;
|
||||
|
||||
BlockMap?.Dispose();
|
||||
BlockMap = null;
|
||||
|
||||
Fertility?.Dispose();
|
||||
Fertility = null;
|
||||
|
||||
WaterMap?.Dispose();
|
||||
WaterMap = null;
|
||||
|
||||
EntityIdMap?.Dispose();
|
||||
EntityIdMap = null;
|
||||
|
||||
RoadNetwork?.Dispose();
|
||||
RoadNetwork = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user