RankMgr: Added GetRankVisuals() function.
This commit is contained in:
parent
4b1505f39d
commit
0001a7c9fc
@ -100,8 +100,8 @@ static int tolua_cRankManager_AddRank(lua_State * L)
|
|||||||
cLuaState S(L);
|
cLuaState S(L);
|
||||||
if (
|
if (
|
||||||
!S.CheckParamUserTable(1, "cRankManager") ||
|
!S.CheckParamUserTable(1, "cRankManager") ||
|
||||||
!S.CheckParamString(2) ||
|
!S.CheckParamString(2, 5) ||
|
||||||
!S.CheckParamEnd(3)
|
!S.CheckParamEnd(6)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
@ -396,6 +396,41 @@ static int tolua_cRankManager_GetRankGroups(lua_State * L)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** Binds cRankManager::GetRankVisuals */
|
||||||
|
static int tolua_cRankManager_GetRankVisuals(lua_State * L)
|
||||||
|
{
|
||||||
|
// function signature:
|
||||||
|
// cRankManager:GetRankVisuals(RankName) -> MsgPrefix, MsgSuffix, MsgNameColorCode
|
||||||
|
|
||||||
|
cLuaState S(L);
|
||||||
|
if (
|
||||||
|
!S.CheckParamUserTable(1, "cRankManager") ||
|
||||||
|
!S.CheckParamString(2) ||
|
||||||
|
!S.CheckParamEnd(3)
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the params:
|
||||||
|
AString RankName;
|
||||||
|
S.GetStackValue(2, RankName);
|
||||||
|
|
||||||
|
// Get the visuals:
|
||||||
|
AString MsgPrefix, MsgSuffix, MsgNameColorCode;
|
||||||
|
cRoot::Get()->GetRankManager().GetRankVisuals(RankName, MsgPrefix, MsgSuffix, MsgNameColorCode);
|
||||||
|
|
||||||
|
// Push the results:
|
||||||
|
S.Push(MsgPrefix);
|
||||||
|
S.Push(MsgSuffix);
|
||||||
|
S.Push(MsgNameColorCode);
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** Binds cRankManager::GetRankPermissions */
|
/** Binds cRankManager::GetRankPermissions */
|
||||||
static int tolua_cRankManager_GetRankPermissions(lua_State * L)
|
static int tolua_cRankManager_GetRankPermissions(lua_State * L)
|
||||||
{
|
{
|
||||||
@ -848,6 +883,7 @@ void ManualBindings::BindRankManager(lua_State * tolua_S)
|
|||||||
tolua_function(tolua_S, "GetPlayerPermissions", tolua_cRankManager_GetPlayerPermissions);
|
tolua_function(tolua_S, "GetPlayerPermissions", tolua_cRankManager_GetPlayerPermissions);
|
||||||
tolua_function(tolua_S, "GetPlayerRankName", tolua_cRankManager_GetPlayerRankName);
|
tolua_function(tolua_S, "GetPlayerRankName", tolua_cRankManager_GetPlayerRankName);
|
||||||
tolua_function(tolua_S, "GetRankGroups", tolua_cRankManager_GetRankGroups);
|
tolua_function(tolua_S, "GetRankGroups", tolua_cRankManager_GetRankGroups);
|
||||||
|
tolua_function(tolua_S, "GetRankVisuals", tolua_cRankManager_GetRankVisuals);
|
||||||
tolua_function(tolua_S, "GetRankPermissions", tolua_cRankManager_GetRankPermissions);
|
tolua_function(tolua_S, "GetRankPermissions", tolua_cRankManager_GetRankPermissions);
|
||||||
tolua_function(tolua_S, "GroupExists", tolua_cRankManager_GroupExists);
|
tolua_function(tolua_S, "GroupExists", tolua_cRankManager_GroupExists);
|
||||||
tolua_function(tolua_S, "IsGroupInRank", tolua_cRankManager_IsGroupInRank);
|
tolua_function(tolua_S, "IsGroupInRank", tolua_cRankManager_IsGroupInRank);
|
||||||
|
@ -1123,14 +1123,13 @@ void cRankManager::SetRankVisuals(
|
|||||||
const AString & a_MsgNameColorCode
|
const AString & a_MsgNameColorCode
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
AStringVector res;
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
SQLite::Statement stmt(m_DB, "UPDATE Rank SET MsgPrefix = ?, MsgSuffix = ?, MsgNameColorCode = ? WHERE Name = ?");
|
SQLite::Statement stmt(m_DB, "UPDATE Rank SET MsgPrefix = ?, MsgSuffix = ?, MsgNameColorCode = ? WHERE Name = ?");
|
||||||
stmt.bind(1, a_MsgPrefix);
|
stmt.bind(1, a_MsgPrefix);
|
||||||
stmt.bind(2, a_MsgSuffix);
|
stmt.bind(2, a_MsgSuffix);
|
||||||
stmt.bind(1, a_MsgNameColorCode);
|
stmt.bind(3, a_MsgNameColorCode);
|
||||||
stmt.bind(2, a_RankName);
|
stmt.bind(4, a_RankName);
|
||||||
if (!stmt.executeStep())
|
if (!stmt.executeStep())
|
||||||
{
|
{
|
||||||
LOGINFO("%s: Rank %s not found, visuals not set.", __FUNCTION__, a_RankName.c_str());
|
LOGINFO("%s: Rank %s not found, visuals not set.", __FUNCTION__, a_RankName.c_str());
|
||||||
@ -1146,6 +1145,38 @@ void cRankManager::SetRankVisuals(
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
bool cRankManager::GetRankVisuals(
|
||||||
|
const AString & a_RankName,
|
||||||
|
AString & a_MsgPrefix,
|
||||||
|
AString & a_MsgSuffix,
|
||||||
|
AString & a_MsgNameColorCode
|
||||||
|
)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
SQLite::Statement stmt(m_DB, "SELECT MsgPrefix, MsgSuffix, MsgNameColorCode FROM Rank WHERE Name = ?");
|
||||||
|
stmt.bind(1, a_RankName);
|
||||||
|
if (!stmt.executeStep())
|
||||||
|
{
|
||||||
|
// Rank not found
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
a_MsgPrefix = stmt.getColumn(0).getText();
|
||||||
|
a_MsgSuffix = stmt.getColumn(1).getText();
|
||||||
|
a_MsgNameColorCode = stmt.getColumn(2).getText();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (const SQLite::Exception & ex)
|
||||||
|
{
|
||||||
|
LOGWARNING("%s: Failed to get ranks from DB: %s", __FUNCTION__, ex.what());
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bool cRankManager::RankExists(const AString & a_RankName)
|
bool cRankManager::RankExists(const AString & a_RankName)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -121,6 +121,15 @@ public:
|
|||||||
const AString & a_MsgNameColorCode
|
const AString & a_MsgNameColorCode
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/** Returns the message visuals of an existing rank.
|
||||||
|
Returns true if successful, false on error (rank doesn't exist). */
|
||||||
|
bool GetRankVisuals(
|
||||||
|
const AString & a_RankName,
|
||||||
|
AString & a_MsgPrefix,
|
||||||
|
AString & a_MsgSuffix,
|
||||||
|
AString & a_MsgNameColorCode
|
||||||
|
);
|
||||||
|
|
||||||
/** Returns true iff the specified rank exists in the DB. */
|
/** Returns true iff the specified rank exists in the DB. */
|
||||||
bool RankExists(const AString & a_RankName);
|
bool RankExists(const AString & a_RankName);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user