using System; using System.Xml.Linq; using Barotrauma.LuaCs.Data; using Barotrauma.LuaCs.Services; using Barotrauma.Networking; using OneOf; namespace Barotrauma.LuaCs.Configuration; public class ConfigEntry : IConfigEntry where T : IEquatable { private readonly Action, INetReadMessage> _readMessageHandler; private readonly Action, INetWriteMessage> _writeMessageHandler; public ConfigEntry(IConfigInfo configInfo, Action, INetReadMessage> readMessageHandler, Action, INetWriteMessage> writeMessageHandler) { _readMessageHandler = readMessageHandler; _writeMessageHandler = writeMessageHandler; } public string InternalName { get; init; } public ContentPackage OwnerPackage { get; init; } public bool Equals(IConfigBase other) { if (ReferenceEquals(this, other)) return true; throw new NotImplementedException(); } public void Dispose() { throw new NotImplementedException(); } public Type GetValueType() { throw new NotImplementedException(); } public string GetValue() { throw new NotImplementedException(); } public bool TrySetValue(OneOf value) { throw new NotImplementedException(); } public bool IsAssignable(OneOf value) { throw new NotImplementedException(); } private event Action> _onValueChanged; public event Action> OnValueChanged { add => _onValueChanged += value; remove => _onValueChanged -= value; } event Action IConfigBase.OnValueChanged { add => _onValueChanged += value; remove => _onValueChanged -= value; } public OneOf GetSerializableValue() { throw new NotImplementedException(); } public Guid InstanceId => throw new NotImplementedException(); public NetSync SyncType => throw new NotImplementedException(); public ClientPermissions WritePermissions => throw new NotImplementedException(); public void ReadNetMessage(INetReadMessage message) { throw new NotImplementedException(); } public void WriteNetMessage(INetWriteMessage message) { throw new NotImplementedException(); } public T Value => throw new NotImplementedException(); public bool TrySetValue(T value) { throw new NotImplementedException(); } public bool IsAssignable(T value) { throw new NotImplementedException(); } }