mirror of
https://github.com/UltraCoderRU/screepsxx.git
synced 2026-01-28 01:55:12 +00:00
65 lines
1.1 KiB
C++
65 lines
1.1 KiB
C++
#include "Flag.hpp"
|
|
|
|
#include "JSON.hpp"
|
|
#include "RoomPosition.hpp"
|
|
|
|
namespace Screeps {
|
|
|
|
Flag::Flag(JS::Value value) : RoomObject(std::move(value))
|
|
{
|
|
}
|
|
|
|
int Flag::color() const
|
|
{
|
|
return value()["color"].as<int>();
|
|
}
|
|
|
|
JSON Flag::memory() const
|
|
{
|
|
return JS::toJSON(value()["memory"]);
|
|
}
|
|
|
|
void Flag::setMemory(const JSON& memory)
|
|
{
|
|
value().set("memory", JS::fromJSON(memory));
|
|
}
|
|
|
|
std::string Flag::name() const
|
|
{
|
|
return value()["name"].as<std::string>();
|
|
}
|
|
|
|
int Flag::secondaryColor() const
|
|
{
|
|
return value()["secondaryColor"].as<int>();
|
|
}
|
|
|
|
void Flag::remove()
|
|
{
|
|
value().call<void>("remove");
|
|
}
|
|
|
|
int Flag::setColor(int color, const std::optional<int>& secondaryColor)
|
|
{
|
|
if (secondaryColor)
|
|
return value().call<int>("setColor", color, *secondaryColor);
|
|
else
|
|
return value().call<int>("setColor", color);
|
|
}
|
|
|
|
int Flag::setPosition(int x, int y)
|
|
{
|
|
return value().call<int>("setPosition", x, y);
|
|
}
|
|
|
|
int Flag::setPosition(const RoomPosition& pos)
|
|
{
|
|
return value().call<int>("setPosition", pos.value());
|
|
}
|
|
|
|
int Flag::setPosition(const RoomObject& pos)
|
|
{
|
|
return value().call<int>("setPosition", pos.value());
|
|
}
|
|
|
|
} // namespace Screeps
|