Added onover options for createArkPointButton in map

ryzom/ark/features
Nuno 4 years ago
parent 13cb05c732
commit 1225fc0fe8

@ -2755,6 +2755,8 @@ CGroupMap::CLandMarkButton *CGroupMap::createArkPointButton(const CArkPoint &poi
lmb->setParamsOnLeftClick(point.LeftClickParam); lmb->setParamsOnLeftClick(point.LeftClickParam);
lmb->setActionOnRightClick(point.RightClickAction); lmb->setActionOnRightClick(point.RightClickAction);
lmb->setParamsOnRightClick(point.RightClickParam); lmb->setParamsOnRightClick(point.RightClickParam);
lmb->setActionOnOver(point.OverClickAction);
lmb->setParamsOnOver(point.OverClickParam);
lmb->setColor(point.Color); lmb->setColor(point.Color);
lmb->setColorOver(point.Color); lmb->setColorOver(point.Color);
lmb->setColorPushed(point.Color); lmb->setColorPushed(point.Color);

@ -95,6 +95,8 @@ public:
std::string LeftClickParam; std::string LeftClickParam;
std::string RightClickAction; std::string RightClickAction;
std::string RightClickParam; std::string RightClickParam;
std::string OverClickAction;
std::string OverClickParam;
public: public:
CArkPoint() CArkPoint()
@ -230,7 +232,7 @@ public:
void addUserLandMark(const NLMISC::CVector2f &pos, const ucstring &title, NLMISC::CRGBA color); void addUserLandMark(const NLMISC::CVector2f &pos, const ucstring &title, NLMISC::CRGBA color);
void addUserRespawnPoint(const NLMISC::CVector2f &pos); void addUserRespawnPoint(const NLMISC::CVector2f &pos);
void delArkPoints(); void delArkPoints();
// set landmarks visibility based text query // set landmarks visibility based text query
void setLandmarkFilter(const std::string &s); void setLandmarkFilter(const std::string &s);
@ -602,7 +604,7 @@ private:
CLandMarkButton *createLandMarkButton(const CLandMarkOptions &options); CLandMarkButton *createLandMarkButton(const CLandMarkOptions &options);
// Create a Ark landmark button, but do not add it to this group // Create a Ark landmark button, but do not add it to this group
CLandMarkButton *createArkPointButton(const CArkPoint &point); CLandMarkButton *createArkPointButton(const CArkPoint &point);
// update a landmark button // update a landmark button
void updateLandMarkButton(CLandMarkButton *lmb, const CLandMarkOptions &options); void updateLandMarkButton(CLandMarkButton *lmb, const CLandMarkOptions &options);

@ -4178,7 +4178,7 @@ int CLuaIHMRyzom::addLandMark(CLuaState &ls)
{ {
const char* funcName = "addLandMark"; const char* funcName = "addLandMark";
CLuaIHM::checkArgMin(ls, funcName, 4); CLuaIHM::checkArgMin(ls, funcName, 4);
CLuaIHM::checkArgMax(ls, funcName, 9); CLuaIHM::checkArgMax(ls, funcName, 11);
CLuaIHM::checkArgType(ls, funcName, 1, LUA_TNUMBER); // x CLuaIHM::checkArgType(ls, funcName, 1, LUA_TNUMBER); // x
CLuaIHM::checkArgType(ls, funcName, 2, LUA_TNUMBER); // y CLuaIHM::checkArgType(ls, funcName, 2, LUA_TNUMBER); // y
CLuaIHM::checkArgType(ls, funcName, 3, LUA_TSTRING); // title CLuaIHM::checkArgType(ls, funcName, 3, LUA_TSTRING); // title
@ -4187,6 +4187,9 @@ int CLuaIHMRyzom::addLandMark(CLuaState &ls)
CLuaIHM::checkArgType(ls, funcName, 6, LUA_TSTRING); // left click param CLuaIHM::checkArgType(ls, funcName, 6, LUA_TSTRING); // left click param
CLuaIHM::checkArgType(ls, funcName, 7, LUA_TSTRING); // right click action CLuaIHM::checkArgType(ls, funcName, 7, LUA_TSTRING); // right click action
CLuaIHM::checkArgType(ls, funcName, 8, LUA_TSTRING); // right click params CLuaIHM::checkArgType(ls, funcName, 8, LUA_TSTRING); // right click params
CLuaIHM::checkArgType(ls, funcName, 9, LUA_TSTRING); // over click action
CLuaIHM::checkArgType(ls, funcName, 10, LUA_TSTRING); // over click params
// 11 : Color
CArkPoint point; CArkPoint point;
point.x = (sint32)(ls.toNumber(1)*1000.f); point.x = (sint32)(ls.toNumber(1)*1000.f);
@ -4197,10 +4200,12 @@ int CLuaIHMRyzom::addLandMark(CLuaState &ls)
point.LeftClickParam = ls.toString(6); point.LeftClickParam = ls.toString(6);
point.RightClickAction = ls.toString(7); point.RightClickAction = ls.toString(7);
point.RightClickParam = ls.toString(8); point.RightClickParam = ls.toString(8);
point.OverClickAction = ls.toString(9);
point.OverClickParam = ls.toString(10);
point.Color = CRGBA(255,255,255,255); point.Color = CRGBA(255,255,255,255);
if (ls.getTop() >= 9) if (ls.getTop() >= 11)
CLuaIHM::pop(ls, point.Color); CLuaIHM::pop(ls, point.Color);
CGroupMap *pMap = dynamic_cast<CGroupMap*>(CWidgetManager::getInstance()->getElementFromId("ui:interface:map:content:map_content:actual_map")); CGroupMap *pMap = dynamic_cast<CGroupMap*>(CWidgetManager::getInstance()->getElementFromId("ui:interface:map:content:map_content:actual_map"));

Loading…
Cancel
Save