From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- Minecraft.World/DoorInfo.cpp | 69 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 Minecraft.World/DoorInfo.cpp (limited to 'Minecraft.World/DoorInfo.cpp') diff --git a/Minecraft.World/DoorInfo.cpp b/Minecraft.World/DoorInfo.cpp new file mode 100644 index 00000000..0c61b635 --- /dev/null +++ b/Minecraft.World/DoorInfo.cpp @@ -0,0 +1,69 @@ +#include "stdafx.h" + +#include "DoorInfo.h" + +DoorInfo::DoorInfo(int x, int y, int z, int insideDx, int insideDy, int timeStamp) : x(x), y(y), z(z), insideDx(insideDx), insideDz(insideDy) +{ + removed = false; + bookings = 0; + + this->timeStamp = timeStamp; +} + +int DoorInfo::distanceTo(int x2, int y2, int z2) +{ + return (int) sqrt((float)distanceToSqr(x2, y2, z2)); +} + +int DoorInfo::distanceToSqr(int x2, int y2, int z2) +{ + int dx = x2 - x; + int dy = y2 - y; + int dz = z2 - z; + return dx * dx + dy * dy + dz * dz; +} + +int DoorInfo::distanceToInsideSqr(int x2, int y2, int z2) +{ + int dx = x2 - x - insideDx; + int dy = y2 - y; + int dz = z2 - z - insideDz; + return dx * dx + dy * dy + dz * dz; +} + +int DoorInfo::getIndoorX() +{ + return x + insideDx; +} + +int DoorInfo::getIndoorY() +{ + return y; +} + +int DoorInfo::getIndoorZ() +{ + return z + insideDz; +} + +bool DoorInfo::isInsideSide(int testX, int testZ) +{ + int vdx = testX - x; + int vdz = testZ - z; + return vdx * insideDx + vdz * insideDz >= 0; +} + +void DoorInfo::resetBookingCount() +{ + bookings = 0; +} + +void DoorInfo::incBookingCount() +{ + ++bookings; +} + +int DoorInfo::getBookingsCount() +{ + return bookings; +} \ No newline at end of file -- cgit v1.2.3