Files
crystall-punk-14/Content.Shared/_CP14/Demiplane/CP14DemiplaneMapUI.cs
Red fa22152b42 Demiplane redesign again (again) (#1640)
* rooms generation fix??

* demiplane map returns

* wawa

* fix
2025-08-08 17:37:16 +03:00

33 lines
1.1 KiB
C#

using System.Numerics;
using Content.Shared._CP14.Procedural.Prototypes;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization;
namespace Content.Shared._CP14.Demiplane;
[Serializable, NetSerializable]
public enum CP14DemiplaneMapUiKey
{
Key,
}
[Serializable, NetSerializable]
public sealed class CP14DemiplaneMapUiState(Dictionary<Vector2i, CP14DemiplaneMapNode> nodes, HashSet<(Vector2i, Vector2i)>? edges = null) : BoundUserInterfaceState
{
public Dictionary<Vector2i, CP14DemiplaneMapNode> Nodes = nodes;
public HashSet<(Vector2i, Vector2i)> Edges = edges ?? new();
}
[Serializable, NetSerializable]
public sealed class CP14DemiplaneMapNode(Vector2 uiPosition, ProtoId<CP14ProceduralLocationPrototype>? locationConfig = null, List<ProtoId<CP14ProceduralModifierPrototype>>? modifiers = null)
{
public bool Start = false;
public Vector2 UiPosition = uiPosition;
public int Level = 0;
public bool Opened = false;
public ProtoId<CP14ProceduralLocationPrototype>? LocationConfig = locationConfig;
public List<ProtoId<CP14ProceduralModifierPrototype>> Modifiers = modifiers ?? [];
}