本文整理汇总了C#中Sandbox.Game.World.MyPlayer.IsRemotePlayer方法的典型用法代码示例。如果您正苦于以下问题:C# MyPlayer.IsRemotePlayer方法的具体用法?C# MyPlayer.IsRemotePlayer怎么用?C# MyPlayer.IsRemotePlayer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sandbox.Game.World.MyPlayer
的用法示例。
在下文中一共展示了MyPlayer.IsRemotePlayer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RemovePlayer
public void RemovePlayer(MyPlayer player)
{
if (Sync.IsServer)
{
if (player.Controller.ControlledEntity != null)
{
foreach (var controlEntry in m_controlledEntities)
{
if (controlEntry.Value != player.Id) continue;
if (controlEntry.Key == player.Controller.ControlledEntity.Entity.EntityId) continue;
m_controlledEntities.Remove(controlEntry.Key);
}
m_controlledEntities.ApplyRemovals();
player.Controller.TakeControl(null);
}
if (player.Character != null)
{
//Dont remove character if he's sleeping in a cryo chamber
if (!(player.Character.Parent is Sandbox.Game.Entities.Blocks.MyCryoChamber))
{
player.Character.SyncObject.SendCloseRequest();
}
}
KillPlayer(player);
if (player.IsLocalPlayer())
RaiseLocalPlayerRemoved(player.Id.SerialId);
if (PlayerRemoved != null)
PlayerRemoved(player.Id);
player.CloseRespawnShip();
var msg = new PlayerRemoveMsg();
msg.ClientSteamId = player.Id.SteamId;
msg.PlayerSerialId = player.Id.SerialId;
Sync.Layer.SendMessageToAll(ref msg, MyTransportMessageEnum.Success);
RemovePlayerFromDictionary(player.Id);
}
else
{
Debug.Assert(player.IsLocalPlayer(), "Client can only remove local players!");
if (player.IsRemotePlayer()) return;
var msg = new PlayerRemoveMsg();
msg.ClientSteamId = player.Id.SteamId;
msg.PlayerSerialId = player.Id.SerialId;
Sync.Layer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request);
}
}