using XCEngine; namespace XCEngine.Rendering { public sealed class CameraRenderRequestContext { private readonly ulong m_nativeHandle; internal CameraRenderRequestContext(ulong nativeHandle) { m_nativeHandle = nativeHandle; } public int renderedBaseCameraCount => InternalCalls .Rendering_CameraRenderRequestContext_GetRenderedBaseCameraCount( m_nativeHandle); public int renderedRequestCount => InternalCalls .Rendering_CameraRenderRequestContext_GetRenderedRequestCount( m_nativeHandle); public Camera camera { get { ulong cameraGameObjectUUID = InternalCalls .Rendering_CameraRenderRequestContext_GetCameraGameObjectUUID( m_nativeHandle); if (cameraGameObjectUUID == 0) { return null; } GameObject gameObject = new GameObject(cameraGameObjectUUID); return gameObject.GetComponent(); } } public int rendererIndex { get => InternalCalls .Rendering_CameraRenderRequestContext_GetRendererIndex( m_nativeHandle); set => InternalCalls .Rendering_CameraRenderRequestContext_SetRendererIndex( m_nativeHandle, value); } public bool hasDirectionalShadow => InternalCalls .Rendering_CameraRenderRequestContext_GetHasDirectionalShadow( m_nativeHandle); public DirectionalShadowPlanningSettings directionalShadowPlanningSettings { get { InternalCalls .Rendering_CameraRenderRequestContext_GetDirectionalShadowPlanningSettings( m_nativeHandle, out DirectionalShadowPlanningSettings settings); return settings; } set { InternalCalls .Rendering_CameraRenderRequestContext_SetDirectionalShadowPlanningSettings( m_nativeHandle, ref value); } } public void ClearDirectionalShadow() { InternalCalls .Rendering_CameraRenderRequestContext_ClearDirectionalShadow( m_nativeHandle); } public RenderClearFlags clearFlags { get => (RenderClearFlags)InternalCalls .Rendering_CameraRenderRequestContext_GetClearFlags( m_nativeHandle); set => InternalCalls .Rendering_CameraRenderRequestContext_SetClearFlags( m_nativeHandle, (int)value); } public void SetResolvedFinalColorPolicy( FinalColorSettings settings, bool hasPipelineDefaults, bool hasCameraOverrides) { InternalCalls .Rendering_CameraRenderRequestContext_SetResolvedFinalColorPolicy( m_nativeHandle, ref settings, hasPipelineDefaults, hasCameraOverrides); } public void ClearFinalColorPolicy() { InternalCalls .Rendering_CameraRenderRequestContext_ClearFinalColorPolicy( m_nativeHandle); } internal ulong nativeHandle => m_nativeHandle; } }