Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }