// Byte Deserialization
 public ConcealedEntity(VRage.ByteStream stream)
     : this()
 {
     TypeOfEntity = (EntityType)stream.getUShort();
     EntityId = stream.getLong();
     Position = stream.getVector3D();
     // Clients don't need AABB details
     IsRevealBlocked = stream.getBoolean();
     IsObserved = stream.getBoolean();
     Log = new Logger("GP.Concealment.World.Entities.ConcealedEntity",
         EntityId.ToString());
 }
        // Byte Deserialization
        public ObservingEntity(VRage.ByteStream stream)
            : base(stream)
        {
            List<long> entitiesViewing = stream.getLongList();
            foreach (long id in entitiesViewing) {
                EntitiesViewing.Add(id, null);
            }

            LastObservingTime = stream.getDateTime();
            LastObservingPosition = stream.getVector3D();
            //Log.Trace("Deserialized LastObservingTime of " + LastObservingTime, "stream ctr");
            //Log.Trace("Deserialized LastObservingPosition of " + LastObservingPosition, "stream ctr");
            //Log.Trace("Deserialized ViewDistance of " + ViewDistance, "stream ctr");
        }
 public void RemoveFromByteStream(VRage.ByteStream stream)
 {
     EntityId = stream.getLong();
     Type = (EntityType)stream.getUShort();
     Position = stream.getVector3D();
     Transparent = stream.getBoolean();
     IsStatic = stream.getBoolean();
     Revealability = (EntityRevealability)stream.getUShort();
     Concealability = (EntityConcealability)stream.getUShort();
     Status = (ConcealStatus)stream.getUShort();
 }