// Byte Deserialization
 public ControllableEntity(VRage.ByteStream stream)
     : base(stream)
 {
     Log.ClassName = "GP.Concealment.World.Entities.ControllableEntity";
     IsMoving = stream.getBoolean();
     RecentlyMoved = stream.getBoolean();
     RecentlyMovedEnds = stream.getDateTime();
     Log.Trace("New Controllable Entity " + DisplayName, "ctr");
 }
예제 #2
0
 // 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());
 }
예제 #3
0
        // Byte Deserialization
        public RevealedEntity(VRage.ByteStream stream)
            : base(stream)
        {
            // Nearly everything is available from the ingame Entity
            IsObserved = stream.getBoolean();
            IsRevealBlocked = stream.getBoolean();
            List<long> entitiesViewedByList = stream.getLongList();
            foreach (long id in entitiesViewedByList) {
                EntitiesViewedBy.Add(id, null);
            }
            RevealedAt = stream.getDateTime();

            MovedSinceIsInAsteroidCheck = true;
            Log.ClassName = "GP.Concealment.World.Entities.RevealedEntity";
            Log.Trace("Finished RevealedEntity deserialize constructor", "ctr");
        }
예제 #4
0
 // Byte Deserialization
 public Settings(VRage.ByteStream stream)
 {
     ControlledMovingGraceTimeSeconds = (ushort)stream.getUlong();
     ControlledMovementGraceDistanceMeters = (ushort)stream.getUlong();
     RevealVisibilityMeters = (ushort)stream.getUlong();
     //RevealDetectabilityMeters = 10; //50;
     //RevealCommunicationMeters = 10; //50;
     //RevealCollisionMeters = 10; //10;
     ConcealNearAsteroids = stream.getBoolean();
 }
예제 #5
0
        public static HullRuleSet deserialize(VRage.ByteStream stream)
        {
            HullRuleSet result = new HullRuleSet();
            result.DisplayName = stream.getString();
            result.MaxPerFaction = stream.getUShort();
            result.MaxPerSoloPlayer = stream.getUShort();
            result.CaptureMultiplier = stream.getUShort();
            result.MaxBlocks = (int)stream.getLong();
            result.ShouldBeStation = stream.getBoolean();

            ushort blockTypeLimitsCount = stream.getUShort();
            result.BlockTypeLimits = new int[blockTypeLimitsCount];
            for (ushort i = 0; i < blockTypeLimitsCount; ++i) {
                result.BlockTypeLimits[i] = stream.getUShort();
            }

            return result;
        }
예제 #6
0
 protected void LoadFromByteStream(VRage.ByteStream stream)
 {
     ServerRunning = stream.getBoolean();
 }
예제 #7
0
        public static GridData deserialize(VRage.ByteStream stream)
        {
            GridData result = new GridData();

            result.supported = stream.getBoolean();
            result.shipID = stream.getLong();
            result.shipClass = (HullClass.CLASS)stream.getUShort();
            result.shipName = stream.getString();
            result.blockCount = (int)stream.getUShort();
            result.displayPos = stream.getBoolean();
            if (result.displayPos) {
                long x, y, z;
                x = stream.getLong();
                y = stream.getLong();
                z = stream.getLong();
                result.shipPosition = new VRageMath.Vector3D(x, y, z);
            }
            else {
                result.shipPosition = new VRageMath.Vector3D();
            }
            return result;
        }
예제 #8
0
 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();
 }