Added testing and save/load mechanic to the game. Game is now entering final phase.

This commit is contained in:
2026-05-09 21:25:36 +02:00
parent e7de2433de
commit 7e70471227
18 changed files with 1073 additions and 46 deletions
+87
View File
@@ -0,0 +1,87 @@
using System.Collections.Generic;
public class SaveGameData
{
public int Seed { get; set; }
public int CurrentLayer { get; set; }
public int VisibleLayer { get; set; }
public int LowestLayer { get; set; }
public int MaxRobotCount { get; set; }
public bool CanMove { get; set; }
public SurvivalSaveData Survival { get; set; }
public List<ItemSaveData> Inventory { get; set; }
public List<ResearchSaveData> Research { get; set; }
public List<LayerSaveData> Layers { get; set; }
public List<RobotSaveData> Robots { get; set; }
}
public class SurvivalSaveData
{
public float Hunger { get; set; }
public float Thirst { get; set; }
public float Energy { get; set; }
public bool IsDead { get; set; }
public string DeathReason { get; set; }
public string CurrentStatus { get; set; }
}
public class ItemSaveData
{
public string Id { get; set; }
public int Amount { get; set; }
}
public class ResearchSaveData
{
public string Id { get; set; }
public ResearchState State { get; set; }
public double ElapsedResearchTime { get; set; }
public bool PaidResources { get; set; }
}
public class LayerSaveData
{
public int Level { get; set; }
public bool IsGateOpen { get; set; }
public bool HasContentGenerated { get; set; }
public List<Ingredient> GateIngredients { get; set; }
public List<string> CurrentResources { get; set; }
public List<TileSaveData> Tiles { get; set; }
}
public class TileSaveData
{
public int X { get; set; }
public int Y { get; set; }
public string CollapsedMesh { get; set; }
public bool ContainsLight { get; set; }
public bool ContainsDecoration { get; set; }
public bool ContainsResource { get; set; }
public bool WasVisited { get; set; }
public ResourceSaveData Resource { get; set; }
}
public class ResourceSaveData
{
public string Name { get; set; }
public int CurrentAmount { get; set; }
public int MaxAmount { get; set; }
public bool IsEndless { get; set; }
public float ExtractionSpeed { get; set; }
public double TimeSinceLastExtraction { get; set; }
}
public class RobotSaveData
{
public string Name { get; set; }
public string CurrentProgram { get; set; }
public string CurrentMessage { get; set; }
public string RobotType { get; set; }
public float X { get; set; }
public float Y { get; set; }
public float Z { get; set; }
public float Heat { get; set; }
public float Maintenance { get; set; }
public bool IsCoolingDown { get; set; }
public bool IsBroken { get; set; }
}