private void Reappear(BasePlayer basePlayer) { if (onlinePlayers[basePlayer] != null) { onlinePlayers[basePlayer].IsInvisible = false; } basePlayer.SendNetworkUpdate(); basePlayer.limitNetworking = false; HeldEntity heldEnity = basePlayer.GetHeldEntity(); if (heldEnity != null) { heldEnity.UpdateVisibility_Hand(); heldEnity.SendNetworkUpdate(); } basePlayer.UpdatePlayerCollider(true); string gui; if (guiInfo.TryGetValue(basePlayer.userID, out gui)) { CuiHelper.DestroyUi(basePlayer, gui); } Message(basePlayer.IPlayer, "VanishDisabled"); if (onlinePlayers.Values.Count(p => p.IsInvisible) <= 0) { Unsubscribe(nameof(CanNetworkTo)); } }
private void Reappear(BasePlayer basePlayer) { if (onlinePlayers[basePlayer] != null) { onlinePlayers[basePlayer].IsInvisible = false; onlinePlayers[basePlayer].groupSwitchTimer?.Destroy(); if (basePlayer.GetComponent <WeaponBlock>() != null) { GameObject.Destroy(basePlayer.GetComponent <WeaponBlock>()); } if (basePlayer.GetComponent <Runner>() != null) { GameObject.Destroy(basePlayer.GetComponent <Runner>()); } } basePlayer.syncPosition = true; basePlayer.SendNetworkUpdate(); basePlayer.limitNetworking = false; HeldEntity heldEnity = basePlayer.GetHeldEntity(); if (heldEnity != null) { heldEnity.UpdateVisibility_Hand(); heldEnity.SendNetworkUpdate(); } basePlayer.UpdatePlayerCollider(true); string gui; if (guiInfo.TryGetValue(basePlayer.userID, out gui)) { CuiHelper.DestroyUi(basePlayer, gui); } Message(basePlayer.IPlayer, "VanishDisabled"); if (!AnyInvisible) { Unsubscribe(nameof(CanNetworkTo)); } Interface.CallHook("OnVanishReappear", basePlayer); storedData.Invisible.Remove(basePlayer.userID); }
public static void Reappear(BasePlayer ply) { if (!ply.IsInvisible) { return; } ply.IsInvisible = false; ply.SendNetworkUpdate(BasePlayer.NetworkQueue.Update); HeldEntity heldEntity = ply.GetHeldEntity(); if (heldEntity != null) { heldEntity.UpdateVisibility_Hand(); heldEntity.SendNetworkUpdate(BasePlayer.NetworkQueue.Update); } ply.UpdatePlayerCollider(true); CommunityEntity.ServerInstance.ClientRPCEx <string>(new SendInfo { connection = ply.net.connection }, null, "DestroyUI", "InvisibleIndicator"); }