Beispiel #1
0
        private Ja2Data.JsdStruct DownloadJsdStructure(JsdStructure aStructRecrod, bool aIsHiDefenition)
        {
            Ja2Data.JsdStruct _struct = new Ja2Data.JsdStruct(aIsHiDefenition);

            uint _flags = 0;

            foreach (JsdStructureStructureFlag _flag in aStructRecrod.JsdStructureStructureFlag)
            {
                _flags |= (uint)_flag.JsdStructureFlags.Mask.Value;
            }
            _struct.Flags = (Ja2Data.JsdStruct.JsdStructureFlags)_flags;

            _struct.Armour             = aStructRecrod.Armour;
            _struct.Density            = aStructRecrod.Density;
            _struct.DestructionPartner = (sbyte)aStructRecrod.DestructionPartner;
            _struct.HitPoints          = aStructRecrod.HitPoints;
            _struct.PartnerDelta       = (sbyte)aStructRecrod.PartnerDelta;
            _struct.StructureNumber    = (ushort)aStructRecrod.StructureNumber;
            _struct.Unused             = aStructRecrod.Unused;
            _struct.WallOrientation    = aStructRecrod.WallOrientation;
            _struct.ZTileOffsetX       = (sbyte)aStructRecrod.ZTileOffsetX;
            _struct.ZTileOffsetY       = (sbyte)aStructRecrod.ZTileOffsetY;
            _struct.NumberOfTiles      = aStructRecrod.NumberOfTiles;

            int i = 0;

            foreach (JsdTile _tileRec in aStructRecrod.JsdTile)
            {
                _struct.Tiles[i] = this.DownloadJsdTile(_tileRec, aIsHiDefenition);
                i++;
            }

            return(_struct);
        }
Beispiel #2
0
        private JsdStructure LoadStructure(Ja2Data.JsdStruct aStruct)
        {
            JsdStructure _structRec = new JsdStructure();

            _structRec.Armour             = aStruct.Armour;
            _structRec.Density            = aStruct.Density;
            _structRec.DestructionPartner = aStruct.DestructionPartner;
            _structRec.HitPoints          = aStruct.HitPoints;
            _structRec.NumberOfTiles      = aStruct.NumberOfTiles;
            _structRec.PartnerDelta       = aStruct.PartnerDelta;
            _structRec.StructureNumber    = aStruct.StructureNumber;
            _structRec.Unused             = aStruct.Unused;
            _structRec.WallOrientation    = aStruct.WallOrientation;
            _structRec.ZTileOffsetX       = aStruct.ZTileOffsetX;
            _structRec.ZTileOffsetY       = aStruct.ZTileOffsetY;

            _structRec.DateCreated = DateTime.Now;
            _structRec.UserId      = this.FUserId;

            var _flags = this.FStructureFlags.Where(x => (x.Mask & (uint)aStruct.Flags) != 0);

            foreach (Flag _flag in _flags)
            {
                JsdStructureStructureFlag _structToFlag = new JsdStructureStructureFlag();
                _structToFlag.JsdStructure = _structRec;
                _structToFlag.FlagId       = (byte)_flag.Id;
                this.FStructureStructuresFlags.Add(_structToFlag);
            }

            foreach (Ja2Data.JsdTile _tile in aStruct.Tiles)
            {
                JsdTile _tileRec = this.LoadJsdTile(_tile);
                _tileRec.JsdStructure = _structRec;
                this.FJsdTile.Add(_tileRec);
            }

            return(_structRec);
        }