public class Avatar : CommunicationBridge// Avatar reference
public Avatar MyAvatar;
void Awake() {
// Event for avatar possessed
MyAvatar.OnPossessed.AddListener(Possessed);
// OnUnpossessed is called on unposses and client disconnect.
}
// Log username on Possession
void Possessed(User user) => Debug.Log("Possessed by " + user.Name);public Avatar MyAvatar;
void Awake() {
MyAvatar.OnPossessed.AddListener(Possessed);
}
void Possessed(User user) {
// Return if not user's client.
if (user != MyAvatar.Multiplayer.Me) return;
// Set camera as child to object
Camera myCamera = Camera.main;
myCamera.transform.position = transform.position + new Vector3(0, 0.4f, 0);
myCamera.transform.SetParent(transform);
// Lock cursor
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
}| IsMe | True when the Avatar represents the local player. |
| IsOwner | True when the Avatar represents the local player. |
| Owner | User that posses the Avatar. Null when unprocessed. |
| Possessor | User that posses the Avatar. Null when unprocessed. |
| Possessed(User) | The possessed method can be used to set owner of a avatar. |
| Possessed(Boolean, User) |
The possessed method can be used to set owner of a avatar.
(Overrides CommunicationBridgePossessed(Boolean, User)) |
| Serialize | Serializes transform and synchronizables. |
| ToString |
Get name and index in a string.
Returns "Unprocessed" when IsPossessed is false.
(Overrides Object.ToString) |
| Unpossessed | (Overrides CommunicationBridgeUnpossessed) |
| Unserialize | Unserialize transform and synchronizables. |
| IsPossessed | True when possessed by a User. |
| IsPossessor | True when the Avatar represents the local player. |
| OnPossessed | On Avatar get posses by new User. |
| OnUnpossessed | On Avatar unpossess. |