forked from mirrors/NBTExplorer
56 lines
1.3 KiB
C#
56 lines
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace Substrate.Core
|
|
{
|
|
public struct ChunkKey : IEquatable<ChunkKey>
|
|
{
|
|
public readonly int cx;
|
|
public readonly int cz;
|
|
|
|
public ChunkKey (int _cx, int _cz)
|
|
{
|
|
cx = _cx;
|
|
cz = _cz;
|
|
}
|
|
|
|
public bool Equals (ChunkKey ck)
|
|
{
|
|
return this.cx == ck.cx && this.cz == ck.cz;
|
|
}
|
|
|
|
public override bool Equals (Object o)
|
|
{
|
|
try {
|
|
return this == (ChunkKey)o;
|
|
}
|
|
catch {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public override int GetHashCode ()
|
|
{
|
|
int hash = 23;
|
|
hash = hash * 37 + cx;
|
|
hash = hash * 37 + cz;
|
|
return hash;
|
|
}
|
|
|
|
public static bool operator == (ChunkKey k1, ChunkKey k2)
|
|
{
|
|
return k1.cx == k2.cx && k1.cz == k2.cz;
|
|
}
|
|
|
|
public static bool operator != (ChunkKey k1, ChunkKey k2)
|
|
{
|
|
return k1.cx != k2.cx || k1.cz != k2.cz;
|
|
}
|
|
|
|
public override string ToString ()
|
|
{
|
|
return "(" + cx + ", " + cz + ")";
|
|
}
|
|
}
|
|
}
|