Exemplo n.º 1
0
        /// <summary>
        /// Return all voxels matching the given voxelselector delegate.
        /// </summary>
        /// <param name="VoxelSelector">A delegate selecting which voxels to return.</param>
        public IEnumerable <IVoxel <T> > Get(VoxelSelector <T> VoxelSelector)
        {
            #region Initial Checks

            if (VoxelSelector == null)
            {
                throw new ArgumentNullException("The given VoxelSelector must not be null!");
            }

            #endregion

            #region Check embedded voxels

            foreach (var _Voxel in EmbeddedVoxels)
            {
                if (VoxelSelector(_Voxel))
                {
                    yield return(_Voxel);
                }
            }

            #endregion

            #region Check subtrees

            if (Subtree1 != null)
            {
                foreach (var _Voxel in Subtree1.Get(VoxelSelector))
                {
                    yield return(_Voxel);
                }
            }

            if (Subtree2 != null)
            {
                foreach (var _Voxel in Subtree2.Get(VoxelSelector))
                {
                    yield return(_Voxel);
                }
            }

            if (Subtree3 != null)
            {
                foreach (var _Voxel in Subtree3.Get(VoxelSelector))
                {
                    yield return(_Voxel);
                }
            }

            if (Subtree4 != null)
            {
                foreach (var _Voxel in Subtree4.Get(VoxelSelector))
                {
                    yield return(_Voxel);
                }
            }

            #endregion
        }
Exemplo n.º 2
0
 private void AddVoxelSelector()
 {
     selector = GO.Create()
         .SetName("VoxelSelector")
         .SetParent(transform)
         .AddComponent<VoxelSelector>((vs) => {
             vs.Create(ChunkManager.blockSize);
         })
         .gameObject
         .GetComponent<VoxelSelector>();
 }
Exemplo n.º 3
0
 private void AddVoxelSelector()
 {
     selector = GO.Create()
                .SetName("VoxelSelector")
                .SetParent(transform)
                .AddComponent <VoxelSelector>((vs) => {
         vs.Create(ChunkManager.blockSize);
     })
                .gameObject
                .GetComponent <VoxelSelector>();
 }
Exemplo n.º 4
0
        public PlayState(DwarfGame game, WorldManager World) :
            base(game)
        {
            this.World        = World;
            IsShuttingDown    = false;
            QuitOnNextUpdate  = false;
            ShouldReset       = true;
            World.Paused      = false;
            RenderUnderneath  = true;
            EnableScreensaver = false;
            IsInitialized     = false;

            rememberedViewValue = World.WorldSizeInVoxels.Y;

            VoxSelector  = new VoxelSelector(World);
            BodySelector = new BodySelector(World.Renderer.Camera, GameState.Game.GraphicsDevice, World.ComponentManager);
        }