12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- using System.Diagnostics.CodeAnalysis;
- namespace GodotTools.IdeMessaging
- {
- public readonly struct GodotIdeMetadata
- {
- public int Port { get; }
- public string EditorExecutablePath { get; }
- public const string DefaultFileName = "ide_messaging_meta.txt";
- public GodotIdeMetadata(int port, string editorExecutablePath)
- {
- Port = port;
- EditorExecutablePath = editorExecutablePath;
- }
- public static bool operator ==(GodotIdeMetadata a, GodotIdeMetadata b)
- {
- return a.Port == b.Port && a.EditorExecutablePath == b.EditorExecutablePath;
- }
- public static bool operator !=(GodotIdeMetadata a, GodotIdeMetadata b)
- {
- return !(a == b);
- }
- public override bool Equals([NotNullWhen(true)] object? obj)
- {
- return obj is GodotIdeMetadata metadata && metadata == this;
- }
- public bool Equals(GodotIdeMetadata other)
- {
- return Port == other.Port && EditorExecutablePath == other.EditorExecutablePath;
- }
- public override int GetHashCode()
- {
- unchecked
- {
- return (Port * 397) ^ (EditorExecutablePath != null ? EditorExecutablePath.GetHashCode() : 0);
- }
- }
- }
- }
|