mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-09-02 18:17:09 +02:00
* Removed the Interfaces folder. * All objects inside the GameObjects subfolders are now in the GameObjects namespace. * Added a Resharper DotSettings file to mark the GameObjects subfolders as not providing namespaces. * Simplified Robust.client.Graphics namespace. * Automated remove redundant using statements.
75 lines
2.1 KiB
C#
75 lines
2.1 KiB
C#
using System;
|
|
using Robust.Shared.Serialization;
|
|
|
|
namespace Robust.Shared.GameObjects
|
|
{
|
|
public abstract class SharedUserInterfaceComponent : Component
|
|
{
|
|
public sealed override string Name => "UserInterface";
|
|
public sealed override uint? NetID => NetIDs.USERINTERFACE;
|
|
|
|
protected sealed class PrototypeData : IExposeData
|
|
{
|
|
public object UiKey { get; private set; } = default!;
|
|
public string ClientType { get; private set; } = default!;
|
|
|
|
void IExposeData.ExposeData(ObjectSerializer serializer)
|
|
{
|
|
UiKey = serializer.ReadStringEnumKey("key");
|
|
ClientType = serializer.ReadDataField<string>("type");
|
|
}
|
|
}
|
|
|
|
[NetSerializable, Serializable]
|
|
protected sealed class BoundInterfaceMessageWrapMessage : ComponentMessage
|
|
{
|
|
public readonly BoundUserInterfaceMessage Message;
|
|
public readonly object UiKey;
|
|
|
|
public BoundInterfaceMessageWrapMessage(BoundUserInterfaceMessage message, object uiKey)
|
|
{
|
|
Directed = true;
|
|
Message = message;
|
|
UiKey = uiKey;
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"{nameof(BoundInterfaceMessageWrapMessage)}: {Message}";
|
|
}
|
|
}
|
|
}
|
|
|
|
[NetSerializable, Serializable]
|
|
public abstract class BoundUserInterfaceState
|
|
{
|
|
}
|
|
|
|
|
|
[NetSerializable, Serializable]
|
|
public class BoundUserInterfaceMessage
|
|
{
|
|
}
|
|
|
|
[NetSerializable, Serializable]
|
|
internal sealed class UpdateBoundStateMessage : BoundUserInterfaceMessage
|
|
{
|
|
public readonly BoundUserInterfaceState State;
|
|
|
|
public UpdateBoundStateMessage(BoundUserInterfaceState state)
|
|
{
|
|
State = state;
|
|
}
|
|
}
|
|
|
|
[NetSerializable, Serializable]
|
|
internal sealed class OpenBoundInterfaceMessage : BoundUserInterfaceMessage
|
|
{
|
|
}
|
|
|
|
[NetSerializable, Serializable]
|
|
internal sealed class CloseBoundInterfaceMessage : BoundUserInterfaceMessage
|
|
{
|
|
}
|
|
}
|