2020-05-09 18:45:43 +00:00
|
|
|
namespace GodotTools.IdeMessaging
|
2019-07-18 02:08:24 +00:00
|
|
|
{
|
2020-05-09 18:45:43 +00:00
|
|
|
public readonly struct GodotIdeMetadata
|
2019-07-18 02:08:24 +00:00
|
|
|
{
|
|
|
|
public int Port { get; }
|
|
|
|
public string EditorExecutablePath { get; }
|
|
|
|
|
2020-05-09 18:45:43 +00:00
|
|
|
public const string DefaultFileName = "ide_messaging_meta.txt";
|
|
|
|
|
2019-07-18 02:08:24 +00:00
|
|
|
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(object obj)
|
|
|
|
{
|
|
|
|
if (obj is GodotIdeMetadata metadata)
|
|
|
|
return metadata == this;
|
|
|
|
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|