Files
RuinAdventurer/Scripts/Core/SaveGameData.cs
T
Nicola 8170b700b2 Added final features for this release. Now only polishing (if needed) remains.
Features: Sacrifice-Node, Maintain-Node, Options for screen type, lightcolor and soundvolume, tied in sound effects, game pause when menu is open, visibly open up gate when opening it.
2026-05-10 14:09:14 +02:00

100 lines
2.9 KiB
C#

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 SettingsSaveData Settings { 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 SettingsSaveData
{
public int ScreenMode { get; set; }
public float SoundVolume { get; set; }
public float LightColorR { get; set; }
public float LightColorG { get; set; }
public float LightColorB { get; set; }
public float LightColorA { 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 double ElapsedSeconds { 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; }
}