Add selection to tile
This commit is contained in:
parent
ec2518525a
commit
1790eee1c6
|
@ -568,6 +568,10 @@ void Client::registerLuaFunctions()
|
|||
g_lua.bindClassMemberFunction<Tile>("isClickable", &Tile::isClickable);
|
||||
g_lua.bindClassMemberFunction<Tile>("isPathable", &Tile::isPathable);
|
||||
g_lua.bindClassMemberFunction<Tile>("overwriteMinimapColor", &Tile::overwriteMinimapColor);
|
||||
g_lua.bindClassMemberFunction<Tile>("select", &Tile::select);
|
||||
g_lua.bindClassMemberFunction<Tile>("unselect", &Tile::unselect);
|
||||
g_lua.bindClassMemberFunction<Tile>("isSelected", &Tile::isSelected);
|
||||
g_lua.bindClassMemberFunction<Tile>("remFlag", &Tile::remFlag);
|
||||
g_lua.bindClassMemberFunction<Tile>("setFlag", &Tile::setFlag);
|
||||
g_lua.bindClassMemberFunction<Tile>("setFlags", &Tile::setFlags);
|
||||
g_lua.bindClassMemberFunction<Tile>("getFlags", &Tile::getFlags);
|
||||
|
|
|
@ -52,7 +52,6 @@ void Tile::draw(const Point& dest, float scaleFactor, int drawFlags, LightView *
|
|||
TILESTATE_HARDCOREZONE,
|
||||
TILESTATE_REFRESH,
|
||||
TILESTATE_NOLOGOUT,
|
||||
TILESTATE_TRANSLUECENT_LIGHT,
|
||||
TILESTATE_LAST
|
||||
};
|
||||
|
||||
|
@ -74,6 +73,9 @@ void Tile::draw(const Point& dest, float scaleFactor, int drawFlags, LightView *
|
|||
break;
|
||||
}
|
||||
}
|
||||
} else if(m_selected) {
|
||||
g_painter->setColor(Color::darkGreen);
|
||||
g_painter->setOpacity(0.9);
|
||||
}
|
||||
|
||||
if((thing->isGround() && drawFlags & Otc::DrawGround) ||
|
||||
|
|
|
@ -112,6 +112,7 @@ public:
|
|||
bool hasElevation(int elevation = 1);
|
||||
void overwriteMinimapColor(uint8 color) { m_minimapColor = color; }
|
||||
|
||||
void remFlag(uint32 flag) { m_flags &= ~flag; }
|
||||
void setFlag(uint32 flag) { m_flags |= flag; }
|
||||
void setFlags(uint32 flags) { m_flags = flags; }
|
||||
bool hasFlag(uint32 flag) { return (m_flags & flag) == flag; }
|
||||
|
@ -121,6 +122,10 @@ public:
|
|||
uint32 getHouseId() { return m_houseId; }
|
||||
bool isHouseTile() const { return m_houseId != 0 && (m_flags & TILESTATE_HOUSE) == TILESTATE_HOUSE; }
|
||||
|
||||
void select() { m_selected = true; }
|
||||
void unselect() { m_selected = false; }
|
||||
bool isSelected() { return m_selected; }
|
||||
|
||||
TilePtr asTile() { return static_self_cast<Tile>(); }
|
||||
|
||||
private:
|
||||
|
@ -133,6 +138,8 @@ private:
|
|||
uint8 m_drawElevation;
|
||||
uint8 m_minimapColor;
|
||||
uint32 m_flags, m_houseId;
|
||||
|
||||
stdext::boolean<false> m_selected;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue