private void HandleRemotePlayerDestroying(IRemotePlayer remotePlayer) { remotePlayer.OnDestroyingRemotePlayer -= HandleRemotePlayerDestroying; AvatarID avatarID = _infra.GetAvatarID(remotePlayer.PlayerID); IAvatar avatar = _avatarService.Find(avatarID); OnDestroyedRemotePlayer?.Invoke(avatar, remotePlayer); RemoveRemotePlayer(remotePlayer.PlayerID); }
private void HandleRemotePlayerDestroying(IRemotePlayer remotePlayer) { remotePlayer.OnDestroyingRemotePlayer -= HandleRemotePlayerDestroying; if (_infra == null) { return; } if (_infra is MonoBehaviour missingCheck) { if (missingCheck == null) { return; } } AvatarID avatarID = _infra.GetAvatarID(remotePlayer.PlayerID); IAvatar avatar = _avatarService.Find(avatarID); OnDestroyedRemotePlayer?.Invoke(avatar, remotePlayer); RemoveRemotePlayer(remotePlayer.PlayerID); }