first commit
This commit is contained in:
40
Minecraft.World/ChunkPos.h
Normal file
40
Minecraft.World/ChunkPos.h
Normal file
@@ -0,0 +1,40 @@
|
||||
#pragma once
|
||||
|
||||
class Entity;
|
||||
class TilePos;
|
||||
|
||||
class ChunkPos
|
||||
{
|
||||
public:
|
||||
int x, z; // 4J - these were const but needed to make an assignment operator so we could make a vector of ChunkPos
|
||||
|
||||
ChunkPos(int x, int z);
|
||||
|
||||
static __int64 hashCode(int x, int z);
|
||||
int hashCode();
|
||||
|
||||
double distanceToSqr(shared_ptr<Entity> e);
|
||||
double distanceToSqr(double px, double pz); // 4J added
|
||||
|
||||
int getMiddleBlockX();
|
||||
int getMiddleBlockZ();
|
||||
|
||||
TilePos getMiddleBlockPosition(int y);
|
||||
wstring toString();
|
||||
|
||||
static __int64 hash_fnct(const ChunkPos &k);
|
||||
static bool eq_test(const ChunkPos &x, const ChunkPos &y);
|
||||
bool operator == (const ChunkPos &k) const { return (this->x == k.x) && ( this->z == k.z); }
|
||||
ChunkPos & operator= (const ChunkPos & other) { x = other.x; z = other.z; return *this; }
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
__int64 operator() (const ChunkPos &k) const { return ChunkPos::hash_fnct(k); }
|
||||
|
||||
} ChunkPosKeyHash;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool operator() (const ChunkPos &x, const ChunkPos &y) const { return ChunkPos::eq_test(x, y); }
|
||||
} ChunkPosKeyEq;
|
||||
Reference in New Issue
Block a user