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); } internal ulong nativeHandle => m_nativeHandle; } }