2021-06-29 05:28:17 +02:00
|
|
|
#include "framework.h"
|
|
|
|
#include "GameScriptPosition.h"
|
2021-07-01 19:20:59 +01:00
|
|
|
#include <sol.hpp>
|
2021-07-03 23:07:21 +01:00
|
|
|
#include "phd_global.h"
|
2021-07-01 19:20:59 +01:00
|
|
|
|
2021-07-23 02:06:50 +01:00
|
|
|
/***
|
|
|
|
Represents a position in the game world.
|
|
|
|
@classmod Position
|
|
|
|
@pragma nostrip
|
|
|
|
*/
|
|
|
|
|
2021-07-01 19:20:59 +01:00
|
|
|
void GameScriptPosition::Register(sol::state* state)
|
|
|
|
{
|
|
|
|
state->new_usertype<GameScriptPosition>("Position",
|
|
|
|
sol::constructors<GameScriptPosition(int, int, int)>(),
|
2021-07-23 02:06:50 +01:00
|
|
|
sol::meta_function::to_string, &GameScriptPosition::ToString,
|
|
|
|
|
|
|
|
/// (int) x coordinate
|
|
|
|
//@mem x
|
|
|
|
"x", &GameScriptPosition::x,
|
|
|
|
/// (int) y coordinate
|
|
|
|
//@mem y
|
|
|
|
|
|
|
|
"y", &GameScriptPosition::y,
|
|
|
|
/// (int) z coordinate
|
|
|
|
//@mem z
|
|
|
|
|
|
|
|
"z", &GameScriptPosition::z
|
2021-07-01 19:20:59 +01:00
|
|
|
);
|
|
|
|
}
|
2021-06-29 05:28:17 +02:00
|
|
|
|
2021-07-23 02:06:50 +01:00
|
|
|
/***
|
|
|
|
@int X x coordinate
|
|
|
|
@int Y y coordinate
|
|
|
|
@int Z z coordinate
|
|
|
|
@return A Position object.
|
|
|
|
@function Position.new
|
|
|
|
*/
|
2021-07-03 23:07:21 +01:00
|
|
|
GameScriptPosition::GameScriptPosition(int aX, int aY, int aZ)
|
2021-06-29 05:28:17 +02:00
|
|
|
{
|
2021-07-03 23:07:21 +01:00
|
|
|
x = aX;
|
|
|
|
y = aY;
|
|
|
|
z = aZ;
|
2021-06-29 05:28:17 +02:00
|
|
|
}
|
|
|
|
|
2021-07-03 23:07:21 +01:00
|
|
|
GameScriptPosition::GameScriptPosition(PHD_3DPOS const& pos)
|
2021-06-29 05:28:17 +02:00
|
|
|
{
|
2021-07-03 23:07:21 +01:00
|
|
|
x = pos.xPos;
|
|
|
|
y = pos.yPos;
|
|
|
|
z = pos.zPos;
|
2021-06-29 05:28:17 +02:00
|
|
|
}
|
|
|
|
|
2021-07-03 23:07:21 +01:00
|
|
|
void GameScriptPosition::StoreInPHDPos(PHD_3DPOS& pos) const
|
2021-06-29 05:28:17 +02:00
|
|
|
{
|
2021-07-03 23:07:21 +01:00
|
|
|
pos.xPos = x;
|
|
|
|
pos.yPos = y;
|
|
|
|
pos.zPos = z;
|
2021-06-29 05:28:17 +02:00
|
|
|
}
|
|
|
|
|
2021-07-23 02:06:50 +01:00
|
|
|
/***
|
|
|
|
@tparam Position position this position
|
|
|
|
@treturn string A string showing the x, y, and z values of the position
|
|
|
|
@function __tostring
|
|
|
|
*/
|
|
|
|
std::string GameScriptPosition::ToString() const
|
|
|
|
{
|
|
|
|
return "{" + std::to_string(x) + ", " + std::to_string(y) + ", " + std::to_string(z) + "}";
|
|
|
|
}
|
|
|
|
|