private void RemoveControlledEntityProxy(MyEntity entity, bool immediateOnServer) { var msg = new ControlReleasedMsg(); msg.EntityId = entity.EntityId; if (Sync.IsServer) { RemoveControlledEntityInternal(entity, immediateOnServer); Sync.Layer.SendMessageToAll(ref msg); } else { Sync.Layer.SendMessageToServer(ref msg); } }
static void OnControlReleased(MySyncEntity entity, ref ControlReleasedMsg msg, MyNetworkClient sender) { Sync.Players.RemoveControlledEntityInternal(entity.Entity); if (Sync.IsServer) { Sync.Layer.SendMessageToAll(ref msg); } }
static void OnControlReleased(ref ControlReleasedMsg msg, MyNetworkClient sender) { MyEntity entity = null; if (!MyEntities.TryGetEntityById(msg.EntityId, out entity)) return; Sync.Players.RemoveControlledEntityInternal(entity); if (Sync.IsServer) { Sync.Layer.SendMessageToAll(ref msg); } }