当前位置: 首页>>代码示例>>C#>>正文


C# IChunk.GetHeight方法代码示例

本文整理汇总了C#中IChunk.GetHeight方法的典型用法代码示例。如果您正苦于以下问题:C# IChunk.GetHeight方法的具体用法?C# IChunk.GetHeight怎么用?C# IChunk.GetHeight使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IChunk的用法示例。


在下文中一共展示了IChunk.GetHeight方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GenerateHeightMap

 private void GenerateHeightMap(IChunk chunk)
 {
     Coordinates3D coords;
     var map = new byte[Chunk.Width, Chunk.Depth];
     for (byte x = 0; x < Chunk.Width; x++)
     {
         for (byte z = 0; z < Chunk.Depth; z++)
         {
             for (byte y = (byte)(chunk.GetHeight(x, z) + 2); y > 0; y--)
             {
                 if (y >= Chunk.Height)
                     continue;
                 coords.X = x; coords.Y = y - 1; coords.Z = z;
                 var id = chunk.GetBlockID(coords);
                 if (id == 0)
                     continue;
                 var provider = BlockRepository.GetBlockProvider(id);
                 if (provider.LightOpacity != 0)
                 {
                     map[x, z] = y;
                     break;
                 }
             }
         }
     }
     HeightMaps[chunk.Coordinates] = map;
 }
开发者ID:ricucremop,项目名称:TrueCraft,代码行数:27,代码来源:WorldLighting.cs

示例2: ScheduleUpdatesForChunk

 void ScheduleUpdatesForChunk(IWorld world, IChunk chunk)
 {
     chunk.UpdateHeightMap();
     int _x = chunk.Coordinates.X * Chunk.Width;
     int _z = chunk.Coordinates.Z * Chunk.Depth;
     Coordinates3D coords, _coords;
     for (byte x = 0; x < Chunk.Width; x++)
     {
         for (byte z = 0; z < Chunk.Depth; z++)
         {
             for (int y = 0; y < chunk.GetHeight(x, z); y++)
             {
                 _coords.X = x; _coords.Y = y; _coords.Z = z;
                 var id = chunk.GetBlockID(_coords);
                 if (id == 0)
                     continue;
                 coords.X = _x + x; coords.Y = y; coords.Z = _z + z;
                 var provider = BlockRepository.GetBlockProvider(id);
                 provider.BlockLoadedFromChunk(coords, this, world);
             }
         }
     }
 }
开发者ID:Zoxive,项目名称:TrueCraft,代码行数:23,代码来源:MultiplayerServer.cs

示例3: ScheduleUpdatesForChunk

 void ScheduleUpdatesForChunk(IWorld world, IChunk chunk)
 {
     int _x = chunk.Coordinates.X * Chunk.Width;
     int _z = chunk.Coordinates.Z * Chunk.Depth;
     for (byte x = 0; x < Chunk.Width; x++)
     {
         for (byte z = 0; z < Chunk.Depth; z++)
         {
             for (int y = 0; y < chunk.GetHeight(x, z); y++)
             {
                 var coords = new Coordinates3D(_x + x, y, _z + z);
                 var id = world.GetBlockID(coords);
                 if (id == 0)
                     continue;
                 var provider = BlockRepository.GetBlockProvider(id);
                 provider.BlockLoadedFromChunk(coords, this, world);
             }
         }
     }
 }
开发者ID:zevipa,项目名称:TrueCraft,代码行数:20,代码来源:MultiplayerServer.cs


注:本文中的IChunk.GetHeight方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。