#ifndef __IFRIENDS__H__ #define __IFRIENDS__H__ #include #include #include class IFriends { public: struct BestFriendStatus { uint32_t playerCharacterId{}; uint32_t friendCharacterId{}; uint32_t bestFriendStatus{}; }; // Get the friends list for the given character id. virtual std::vector GetFriendsList(const uint32_t charId) = 0; // Get the best friend status for the given player and friend character ids. virtual std::optional GetBestFriendStatus(const uint32_t playerCharacterId, const uint32_t friendCharacterId) = 0; // Set the best friend status for the given player and friend character ids. virtual void SetBestFriendStatus(const uint32_t playerCharacterId, const uint32_t friendCharacterId, const uint32_t bestFriendStatus) = 0; // Add a friend to the given character id. virtual void AddFriend(const uint32_t playerCharacterId, const uint32_t friendCharacterId) = 0; // Remove a friend from the given character id. virtual void RemoveFriend(const uint32_t playerCharacterId, const uint32_t friendCharacterId) = 0; }; #endif //!__IFRIENDS__H__