2026-08-10 14:57:50 +01:00
|
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
|
|
[AttributeUsage(AttributeTargets.Class)]
|
|
|
|
|
|
public class EntityTypeRestrictionAttribute : Attribute
|
|
|
|
|
|
{
|
|
|
|
|
|
public readonly HullType Type;
|
|
|
|
|
|
|
|
|
|
|
|
public EntityTypeRestrictionAttribute(HullType type)
|
|
|
|
|
|
{
|
|
|
|
|
|
Type = type;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class RuntimeInspectable : Attribute { }
|
Delete the in-tree cache, JsonKnownTypes and vendored MessagePack
Cut 8b, deletes first. The old authorities are removed, not demoted:
- ServerShared/CultCache: CultCache.cs, DatabaseEntry.cs (root [Union],
DatabaseLink, INamedEntry), RegisterResolver.cs, TypeFormatterResolver.cs,
JsonConverters.cs, JsonKnownTypes/**.
- Assets/Plugins/MessagePack/** and System.Runtime.CompilerServices.Unsafe.dll
(org.gamecult.cultlib ships both).
- GalaxyMapLayerData, PlayerData, GlobalSettingsAttribute.
- The inspector attributes CultLib already carries or nothing reads.
Kept and moved: MathFormatters.cs and MathResolver.cs to
ServerShared/Serialization; GetAllChildClasses, SplitCamelCase,
FormatTypeName, MaxBy and MinBy to Extensions.cs; Inspectable,
PreferredInspectorAttribute and the five Aetheria drawer attributes to
ServerShared/Attributes.cs. Aetheria.Shared.csproj drops the vendored
MessagePack include and the Unsafe package; the asmdef drops MessagePack.
Does not build: the data model moves onto CultLib in the next commit.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 18:42:09 +02:00
|
|
|
|
|
|
|
|
|
|
// The runtime PropertiesPanel's opt-in; the Studio does not read it.
|
|
|
|
|
|
[AttributeUsage(AttributeTargets.All, Inherited = false)]
|
|
|
|
|
|
public class InspectableAttribute : Attribute { }
|
|
|
|
|
|
|
|
|
|
|
|
// Inspection meaning CultLib's CultInspector attributes do not carry, drawn by Aetheria's Studio drawers.
|
|
|
|
|
|
[AttributeUsage(AttributeTargets.Field)]
|
|
|
|
|
|
public abstract class PreferredInspectorAttribute : InspectableAttribute { }
|
|
|
|
|
|
|
|
|
|
|
|
public class InspectableTemperatureAttribute : PreferredInspectorAttribute { }
|
|
|
|
|
|
public class InspectableAnimationCurveAttribute : PreferredInspectorAttribute { }
|
|
|
|
|
|
public class InspectableColorAttribute : PreferredInspectorAttribute { }
|
|
|
|
|
|
public class InspectableSchematicShapeAttribute : PreferredInspectorAttribute { }
|
|
|
|
|
|
|
|
|
|
|
|
public class InspectableTypeAttribute : PreferredInspectorAttribute
|
|
|
|
|
|
{
|
|
|
|
|
|
public readonly Type Type;
|
|
|
|
|
|
|
|
|
|
|
|
public InspectableTypeAttribute(Type type)
|
|
|
|
|
|
{
|
|
|
|
|
|
Type = type;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|