mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-25 22:17:45 +00:00
Added a linkshell representation class
This commit is contained in:
parent
ebd11f1a7c
commit
c9c86dacef
2 changed files with 157 additions and 0 deletions
95
src/servers/Server_Zone/Linkshell/Linkshell.cpp
Normal file
95
src/servers/Server_Zone/Linkshell/Linkshell.cpp
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
#include "Linkshell.h"
|
||||||
|
|
||||||
|
Core::Linkshell::Linkshell( uint32_t id,
|
||||||
|
const std::string &name,
|
||||||
|
uint32_t masterId,
|
||||||
|
const std::set<uint32_t> &members,
|
||||||
|
const std::set<uint32_t> &leaders,
|
||||||
|
const std::set<uint32_t> &invites ) :
|
||||||
|
m_linkshellId( id ),
|
||||||
|
m_name( name ),
|
||||||
|
m_masterCharacterId( masterId ),
|
||||||
|
m_memberIds( members ),
|
||||||
|
m_leaderIds( leaders ),
|
||||||
|
m_inviteIds( invites )
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t Core::Linkshell::getId() const
|
||||||
|
{
|
||||||
|
return m_linkshellId;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t Core::Linkshell::getMasterId() const
|
||||||
|
{
|
||||||
|
return m_masterCharacterId;
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::set< uint32_t >& Core::Linkshell::getMemberIdList() const
|
||||||
|
{
|
||||||
|
return m_memberIds;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::set< uint32_t >& Core::Linkshell::getMemberIdList()
|
||||||
|
{
|
||||||
|
return m_memberIds;
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::string& Core::Linkshell::getName() const
|
||||||
|
{
|
||||||
|
return m_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::set< uint32_t >& Core::Linkshell::getLeaderIdList() const
|
||||||
|
{
|
||||||
|
return m_leaderIds;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::set< uint32_t >& Core::Linkshell::getLeaderIdList()
|
||||||
|
{
|
||||||
|
return m_leaderIds;
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::set< uint32_t >& Core::Linkshell::getInviteIdList() const
|
||||||
|
{
|
||||||
|
return m_inviteIds;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::set< uint32_t > &Core::Linkshell::getInviteIdList()
|
||||||
|
{
|
||||||
|
return m_inviteIds;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Core::Linkshell::addMember( uint32_t memberId )
|
||||||
|
{
|
||||||
|
m_memberIds.insert( memberId );
|
||||||
|
}
|
||||||
|
|
||||||
|
void Core::Linkshell::removeMember( uint32_t memberId )
|
||||||
|
{
|
||||||
|
m_memberIds.erase( memberId );
|
||||||
|
}
|
||||||
|
|
||||||
|
void Core::Linkshell::addLeader( uint32_t memberId )
|
||||||
|
{
|
||||||
|
m_leaderIds.insert( memberId );
|
||||||
|
}
|
||||||
|
|
||||||
|
void Core::Linkshell::removeLeader( uint32_t memberId )
|
||||||
|
{
|
||||||
|
m_leaderIds.erase( memberId );
|
||||||
|
}
|
||||||
|
|
||||||
|
void Core::Linkshell::addInvite( uint32_t memberId )
|
||||||
|
{
|
||||||
|
m_inviteIds.insert( memberId );
|
||||||
|
}
|
||||||
|
|
||||||
|
void Core::Linkshell::removeInvite( uint32_t memberId )
|
||||||
|
{
|
||||||
|
m_inviteIds.erase( memberId );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
62
src/servers/Server_Zone/Linkshell/Linkshell.h
Normal file
62
src/servers/Server_Zone/Linkshell/Linkshell.h
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
#ifndef CORE_LINKSHELL_H
|
||||||
|
#define CORE_LINKSHELL_H
|
||||||
|
|
||||||
|
#include <Server_Common/Common.h>
|
||||||
|
#include <set>
|
||||||
|
|
||||||
|
namespace Core
|
||||||
|
{
|
||||||
|
|
||||||
|
class Linkshell
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
/*! unique ID of the linkshell */
|
||||||
|
uint32_t m_linkshellId;
|
||||||
|
/*! ID of the master character */
|
||||||
|
uint32_t m_masterCharacterId;
|
||||||
|
/*! ID list of all linkshell members */
|
||||||
|
std::set< uint32_t > m_memberIds;
|
||||||
|
/*! Name of the linkshell */
|
||||||
|
std::string m_name;
|
||||||
|
/*! List of member IDs with leader rank */
|
||||||
|
std::set< uint32_t > m_leaderIds;
|
||||||
|
/*! list of IDs of pending character invites */
|
||||||
|
std::set< uint32_t > m_inviteIds;
|
||||||
|
|
||||||
|
public:
|
||||||
|
Linkshell( uint32_t id,
|
||||||
|
const std::string& name,
|
||||||
|
uint32_t masterId,
|
||||||
|
const std::set< uint32_t >& members,
|
||||||
|
const std::set< uint32_t >& leaders,
|
||||||
|
const std::set< uint32_t >& invites );
|
||||||
|
|
||||||
|
uint32_t getId() const;
|
||||||
|
|
||||||
|
const std::string& getName() const;
|
||||||
|
|
||||||
|
uint32_t getMasterId() const;
|
||||||
|
|
||||||
|
const std::set< uint32_t >& getMemberIdList() const;
|
||||||
|
std::set< uint32_t >& getMemberIdList();
|
||||||
|
|
||||||
|
const std::set< uint32_t >& getLeaderIdList() const;
|
||||||
|
std::set< uint32_t >& getLeaderIdList();
|
||||||
|
|
||||||
|
const std::set< uint32_t >& getInviteIdList() const;
|
||||||
|
std::set< uint32_t >& getInviteIdList();
|
||||||
|
|
||||||
|
void addMember( uint32_t memberId );
|
||||||
|
void removeMember( uint32_t memberId );
|
||||||
|
|
||||||
|
void addLeader( uint32_t memberId );
|
||||||
|
void removeLeader( uint32_t memberId );
|
||||||
|
|
||||||
|
void addInvite( uint32_t memberId );
|
||||||
|
void removeInvite( uint32_t memberId );
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
#endif //SAPPHIRE_LINKSHELL_H
|
Loading…
Add table
Reference in a new issue