INetworkFriendSystem API
Scripts/Abstractions/INetworkFriendSystem.cs
The INetworkFriendSystem interface is the contract that each network backend implementation must fulfill. This allows the FriendManager to work with any networking solution through adapter classes.
Purpose
This interface implements the Adapter Pattern, allowing the core friend system to work with any networking backend:
- PhotonPunNativeFriendSystem - PUN's built-in friends
- PhotonFusionNativeFriendSystem - Fusion's built-in friends
- CustomBackendFriendSystem - HTTP/WebSocket to custom server
Properties
| Property | Type | Description |
|---|---|---|
BackendType | NetworkBackendType | Which backend this implements |
IsUsingNativeImplementation | bool | Native vs custom server |
IsConnected | bool | Connection status |
Events
| Event | Signature | Description |
|---|---|---|
OnFriendsListUpdated | Action<IReadOnlyList<Friend>> | Friend list changed |
OnFriendRequestReceived | Action<FriendRequest> | New request arrived |
OnFriendRequestsUpdated | Action<IReadOnlyList<FriendRequest>> | Requests list changed |
OnFriendStatusChanged | Action<Friend> | Friend status changed |
OnInvitationReceived | Action<FriendInvitation> | Invitation received |
Methods
Initialization
void Initialize(string userId)
Set up the network system with the current user's ID.
Friend Operations
| Method | Description |
|---|---|
RefreshFriendList() | Fetch latest friends |
RefreshFriendRequests() | Fetch latest requests |
SendFriendRequest(userId, callback) | Send request |
AcceptFriendRequest(requestId, callback) | Accept request |
RejectFriendRequest(requestId, callback) | Reject request |
CancelFriendRequest(requestId, callback) | Cancel outgoing |
RemoveFriend(userId, callback) | Remove friend |
Block Operations
| Method | Description |
|---|---|
BlockUser(userId, callback) | Block user |
UnblockUser(userId, callback) | Unblock user |
Room Operations
| Method | Description |
|---|---|
GetFriendRoomInfo(userId, callback) | Get friend's room info |
JoinFriendRoom(userId, callback) | Join friend's room |
InviteFriend(userId, message, customData, callback) | Send invitation |