Exemplo n.º 1
0
        /// <summary>
        ///     Marks an entity for removal from the room and presumably destruction.
        ///     This is deferred until the next frame.
        /// </summary>
        public void MarkForRemoval(RailEntityBase entity)
        {
            if (entity.IsRemoving == false)
            {
                RailEntityServer serverEntity = entity as RailEntityServer;
                if (serverEntity == null)
                {
                    throw new ArgumentNullException(
                              nameof(entity),
                              $"unexpected type of entity to remove: {entity}");
                }

                serverEntity.MarkForRemoval();
                server.LogRemovedEntity(serverEntity);
            }
        }