Esempio n. 1
0
        private static bool GraphDrawPostDelegate(GraphicsContext ctx, SceneGraphContext ctxScene, SceneObject sceneObject, object data)
        {
            ObjectBatchContext objectBatchContext = (ObjectBatchContext)data;

            if (sceneObject.ObjectType == SceneObjectLightZone.ClassObjectType)
            {
                SceneObjectLightZone sceneObjectLightZone = (SceneObjectLightZone)sceneObject;

                sceneObjectLightZone.ResetLights(ctxScene, objectBatchContext.Lights);
                // TODO: Pop instead of Clear to support stacked zones
                objectBatchContext.Lights.Clear();
            }

            // Restore previous state
            ctxScene.GraphicsStateStack.Pop();

            return(true);
        }