RustDedicated/Rust.Data/NetworkableId.cs
2025-11-07 15:19:56 +10:30

49 lines
830 B
C#

using System;
public struct NetworkableId : IEquatable<NetworkableId>
{
public ulong Value;
public bool IsValid => Value != 0;
public static NetworkableId EmptyId => new NetworkableId(0uL);
public NetworkableId(ulong value)
{
Value = value;
}
public override string ToString()
{
return Value.ToString("G");
}
public bool Equals(NetworkableId other)
{
return Value == other.Value;
}
public override bool Equals(object obj)
{
if (obj is NetworkableId other)
{
return Equals(other);
}
return false;
}
public override int GetHashCode()
{
return Value.GetHashCode();
}
public static bool operator ==(NetworkableId left, NetworkableId right)
{
return left.Equals(right);
}
public static bool operator !=(NetworkableId left, NetworkableId right)
{
return !left.Equals(right);
}
}