コード例 #1
0
        public bool setChunkAtPosition(Vector3 _Position, Chunk.Chunk _Chunk, bool _Loaded)
        {
            Chunk.Chunk var_Chunk = this.getChunkAtPosition(_Chunk.Position);
            if (var_Chunk == null)
            {
                /*if (_PosX >= Bounds.Left && _PosX <= Bounds.Right)
                 * {
                 *  if (_PosY >= Bounds.Top && _PosY <= Bounds.Bottom)
                 *  {*/
                int var_X = (int)Math.Abs(_Position.X - this.Position.X) / (Block.Block.BlockSize * Chunk.Chunk.chunkSizeX);
                int var_Y = (int)Math.Abs(_Position.Y - this.Position.Y) / (Block.Block.BlockSize * Chunk.Chunk.chunkSizeY);

                int var_Position = (int)(var_X + var_Y * regionSizeX);
                this.chunks[var_Position] = _Chunk;
                _Chunk.setNeighbours();

                /*if (Configuration.Configuration.isHost || Configuration.Configuration.isSinglePlayer)
                 * {
                 *  this.loadAllObjectsFromChunkToQuadTree(_Chunk);
                 * }*/

                if (_Loaded)
                {
                    this.loadAllObjectsFromChunkToQuadTree(_Chunk);
                }
                else
                {
                }

                return(true);

                /*    }
                 * }*/
                Logger.Logger.LogErr("Region->setChunkAtPosition(...) : Platzierung nicht möglich: PosX " + _Position.X + " PosY " + _Position.Y);
                return(false);
            }
            else
            {
                Logger.Logger.LogErr("Region->setChunkAtPosition(...) : Chunk mit Id: " + _Chunk.Id + " schon vorhanden!");
                return(false);
            }
        }