Пример #1
0
 public static void RemoveSliceFromReRenderQueue(Slice slice)
 {
     if (SlicesWaitingForReRender.Contains(slice))
     {
         SlicesWaitingForReRender.Remove(slice);
     }
 }
Пример #2
0
    public static void RebuildQueuedSlicesOnY(int y)
    {
        // may need render throttle in here for performance.
        List <Slice> slicesRebuilt = new List <Slice>();

        foreach (var slice in SlicesWaitingForReRender)
        {
            if (slice.Y == y)
            {
                if (slice.updateMeshLiquids)
                {
                    slice.BuildMesh(SliceMeshData.Type.Liquids);
                }
                if (slice.updateMeshTop)
                {
                    slice.BuildMesh(SliceMeshData.Type.Top);
                }
                if (slice.updateMeshSides)
                {
                    slice.BuildMesh(SliceMeshData.Type.Sides);
                }

                slicesRebuilt.Add(slice);
            }
        }

        // Remove the rebuilt slices from the rebuild queue.
        foreach (var slice in slicesRebuilt)
        {
            SlicesWaitingForReRender.Remove(slice);
        }
    }
Пример #3
0
    public static void QueueSliceForReRender(Slice slice)
    {
        if (SlicesWaitingForReRender.Contains(slice))
        {
            return;
        }

        SlicesWaitingForReRender.Add(slice);
    }