* Fix some bugs in stations and do a little cleanup. * Begin backporting the guidebook. * wow that's a lot of work. * More work, gives the monkey some more interactions. * disco monkye. * monky * jobs entry. * more writing. * disco * im being harassed * fix spacing. * i hate writing. * Update Resources/Prototypes/Entities/Mobs/NPCs/animals.yml Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com> * builds again * a * pilfer changes from AL * fix and remove unused code * pilfer actual guide changes from AL * localization * more error logs & safety checks * replace controls button with command * add test * todos * pidgin parsing * remove old parser * Move files and change tree sorting * add localization and public methods. * Add help component/verb * rename ITag to IDocumentTag * Fix yml and tweak tooltips * autoclose tooltip * Split container * Fancier-tree * Hover color * txt to xml * oops * Curse you hidden merge conflicts * Rename parsing manager * Stricter arg parsing tag args must now be of the form key="value" * Change default args * Moar tests * nullable enable * Even fancier tree * extremely fancy trees * better indent icons * stricter xml and subheadings * tweak embed margin * Fix parsing bugs * quick fixes. * spain. * ogh * hn bmvdsyc Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using Robust.Shared.Prototypes;
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;
|
|
using Robust.Shared.Utility;
|
|
|
|
namespace Content.Client.Guidebook;
|
|
|
|
[Virtual]
|
|
public class GuideEntry
|
|
{
|
|
/// <summary>
|
|
/// The file containing the contents of this guide.
|
|
/// </summary>
|
|
[DataField("text", required: true)] public ResourcePath Text = default!;
|
|
|
|
/// <summary>
|
|
/// The unique id for this guide.
|
|
/// </summary>
|
|
[IdDataField]
|
|
public string Id = default!;
|
|
|
|
/// <summary>
|
|
/// The name of this guide. This gets localized.
|
|
/// </summary>
|
|
[DataField("name", required: true)] public string Name = default!;
|
|
|
|
/// <summary>
|
|
/// The "children" of this guide for when guides are shown in a tree / table of contents.
|
|
/// </summary>
|
|
[DataField("children", customTypeSerializer:typeof(PrototypeIdListSerializer<GuideEntryPrototype>))]
|
|
public List<string> Children = new();
|
|
|
|
/// <summary>
|
|
/// Priority for sorting top-level guides when shown in a tree / table of contents.
|
|
/// If the guide is the child of some other guide, the order simply determined by the order of children in <see cref="Children"/>.
|
|
/// </summary>
|
|
[DataField("priority")] public int Priority = 0;
|
|
}
|
|
|
|
[Prototype("guideEntry")]
|
|
public sealed class GuideEntryPrototype : GuideEntry, IPrototype
|
|
{
|
|
public string ID => Id;
|
|
}
|