Beispiel #1
0
        private Ja2Data.JsdTile DownloadJsdTile(JsdTile aTileRec, bool aIsHiDefenition)
        {
            Ja2Data.JsdTile _tile  = new Ja2Data.JsdTile(aIsHiDefenition);
            int             _flags = 0;

            foreach (JsdTileTileFlag _flag in aTileRec.JsdTileTileFlag)
            {
                _flags |= _flag.JsdTileFlags.Mask.Value;
            }
            _tile.Flags = (Ja2Data.JsdTile.JsdTileFlags)((byte)_flags);

            _tile.PosRelToBase       = aTileRec.PosRelToBase;
            _tile.Unused             = aTileRec.Unused;
            _tile.VehicleHitLocation = aTileRec.VehicleHitLocation;
            _tile.XPosRelToBase      = (sbyte)aTileRec.XPosRelToBase;
            _tile.YPosRelToBase      = (sbyte)aTileRec.YPosRelToBase;

            List <JsdCell> _cells = this.FJsdCells
                                    .Where(x => x.JsdTileId == aTileRec.JsdTileId)
                                    .ToList();

            _cells.Sort();

            _tile.Shape = _cells.Select(x => x.Value).ToArray();

            return(_tile);
        }
Beispiel #2
0
        private JsdTile LoadJsdTile(Ja2Data.JsdTile aTile)
        {
            JsdTile _tileRec = new JsdTile();

            _tileRec.PosRelToBase       = aTile.PosRelToBase;
            _tileRec.Unused             = aTile.Unused;
            _tileRec.VehicleHitLocation = aTile.VehicleHitLocation;
            _tileRec.XPosRelToBase      = (short)aTile.XPosRelToBase;
            _tileRec.YPosRelToBase      = (short)aTile.YPosRelToBase;

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

            var _flags = this.FTilesFlags.Where(x => (x.Mask & (byte)aTile.Flags) != 0);

            foreach (Flag _flag in _flags)
            {
                JsdTileTileFlag _tileToFlag = new JsdTileTileFlag();
                _tileToFlag.JsdTile = _tileRec;
                _tileToFlag.FlagId  = (byte)_flag.Id;
                this.FJsdTileTileFlag.Add(_tileToFlag);
            }

            this.LoadJsdTileCells(aTile.Shape, _tileRec);

            return(_tileRec);
        }