Advance editor runtime and scripting integration
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
using System;
|
||||
using XCEngine;
|
||||
|
||||
namespace XCEngine.Rendering
|
||||
{
|
||||
public sealed class ScriptableRenderPipelineScenePlanningContext
|
||||
{
|
||||
private readonly ulong m_nativeHandle;
|
||||
|
||||
internal ScriptableRenderPipelineScenePlanningContext(
|
||||
ulong nativeHandle)
|
||||
{
|
||||
m_nativeHandle = nativeHandle;
|
||||
}
|
||||
|
||||
public int requestCount =>
|
||||
InternalCalls
|
||||
.Rendering_ScriptableRenderPipelineScenePlanningContext_GetRequestCount(
|
||||
m_nativeHandle);
|
||||
|
||||
public Camera[] GetDefaultCameras()
|
||||
{
|
||||
ulong[] cameraGameObjectUUIDs =
|
||||
InternalCalls
|
||||
.Rendering_ScriptableRenderPipelineScenePlanningContext_GetDefaultCameraGameObjectUUIDs(
|
||||
m_nativeHandle);
|
||||
if (cameraGameObjectUUIDs == null ||
|
||||
cameraGameObjectUUIDs.Length == 0)
|
||||
{
|
||||
return Array.Empty<Camera>();
|
||||
}
|
||||
|
||||
Camera[] cameras =
|
||||
new Camera[cameraGameObjectUUIDs.Length];
|
||||
for (int index = 0; index < cameraGameObjectUUIDs.Length; ++index)
|
||||
{
|
||||
ulong gameObjectUUID = cameraGameObjectUUIDs[index];
|
||||
cameras[index] =
|
||||
gameObjectUUID != 0
|
||||
? new Camera(gameObjectUUID)
|
||||
: null;
|
||||
}
|
||||
|
||||
return cameras;
|
||||
}
|
||||
|
||||
public bool UseDefaultRequests()
|
||||
{
|
||||
return InternalCalls
|
||||
.Rendering_ScriptableRenderPipelineScenePlanningContext_UseDefaultRequests(
|
||||
m_nativeHandle);
|
||||
}
|
||||
|
||||
public void ClearRequests()
|
||||
{
|
||||
InternalCalls
|
||||
.Rendering_ScriptableRenderPipelineScenePlanningContext_ClearRequests(
|
||||
m_nativeHandle);
|
||||
}
|
||||
|
||||
public bool AddCamera(Camera camera)
|
||||
{
|
||||
return InternalCalls
|
||||
.Rendering_ScriptableRenderPipelineScenePlanningContext_AddCamera(
|
||||
m_nativeHandle,
|
||||
camera != null
|
||||
? camera.GameObjectUUID
|
||||
: 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user