124 lines
3.8 KiB
C#
124 lines
3.8 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; }
|
|
public List<NodeSaveData> RunningProgramNodes { get; set; }
|
|
public string ProgramStartNode { get; set; }
|
|
public string CurrentNode { get; set; }
|
|
public bool IsExecuting { get; set; }
|
|
}
|
|
|
|
public class NodeSaveData
|
|
{
|
|
public string NodeType { get; set; }
|
|
public string EditorNodeId { get; set; }
|
|
public string NextEditorNodeId { get; set; }
|
|
public string NegativeEditorNodeId { get; set; }
|
|
public string NodeContent { get; set; }
|
|
public string LastExecutionMessage { get; set; }
|
|
public string ItemId { get; set; }
|
|
public string Comparator { get; set; }
|
|
public int Amount { get; set; }
|
|
public int AmountExecuted { get; set; }
|
|
public double ElapsedCraftTime { get; set; }
|
|
public int AmountCrafted { get; set; }
|
|
public bool HasTargetPosition { get; set; }
|
|
public int TargetX { get; set; }
|
|
public int TargetY { get; set; }
|
|
public int TargetZ { get; set; }
|
|
}
|