ddnet/src/engine/client/friends.h

40 lines
1.2 KiB
C
Raw Normal View History

2011-03-23 12:06:35 +00:00
/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
/* If you are missing that file, acquire a complete release at teeworlds.com. */
#ifndef ENGINE_CLIENT_FRIENDS_H
#define ENGINE_CLIENT_FRIENDS_H
#include <engine/console.h>
2011-03-23 12:06:35 +00:00
#include <engine/friends.h>
2022-06-16 17:50:46 +00:00
class IConfigManager;
2011-03-23 12:06:35 +00:00
class CFriends : public IFriends
{
CFriendInfo m_aFriends[MAX_FRIENDS];
2015-07-22 20:16:49 +00:00
int m_Foes;
2011-03-23 12:06:35 +00:00
int m_NumFriends;
static void ConAddFriend(IConsole::IResult *pResult, void *pUserData);
static void ConRemoveFriend(IConsole::IResult *pResult, void *pUserData);
static void ConFriends(IConsole::IResult *pResult, void *pUserData);
2011-03-23 12:06:35 +00:00
static void ConfigSaveCallback(IConfigManager *pConfigManager, void *pUserData);
2011-03-23 12:06:35 +00:00
public:
CFriends();
void Init(bool Foes = false) override;
int NumFriends() const override { return m_NumFriends; }
const CFriendInfo *GetFriend(int Index) const override;
int GetFriendState(const char *pName, const char *pClan) const override;
bool IsFriend(const char *pName, const char *pClan, bool PlayersOnly) const override;
2011-03-23 12:06:35 +00:00
void AddFriend(const char *pName, const char *pClan) override;
void RemoveFriend(const char *pName, const char *pClan) override;
2011-03-23 12:06:35 +00:00
void RemoveFriend(int Index);
void Friends();
2011-03-23 12:06:35 +00:00
};
#endif