refactor(srp): tighten request and scene setup seams
This commit is contained in:
@@ -66,5 +66,39 @@ namespace XCEngine
|
||||
get => Primary;
|
||||
set => Primary = value;
|
||||
}
|
||||
|
||||
public CameraClearMode ClearMode
|
||||
{
|
||||
get =>
|
||||
(CameraClearMode)InternalCalls
|
||||
.Camera_GetClearMode(GameObjectUUID);
|
||||
set =>
|
||||
InternalCalls.Camera_SetClearMode(
|
||||
GameObjectUUID,
|
||||
(int)value);
|
||||
}
|
||||
|
||||
public CameraClearMode clearMode
|
||||
{
|
||||
get => ClearMode;
|
||||
set => ClearMode = value;
|
||||
}
|
||||
|
||||
public CameraStackType StackType
|
||||
{
|
||||
get =>
|
||||
(CameraStackType)InternalCalls
|
||||
.Camera_GetStackType(GameObjectUUID);
|
||||
set =>
|
||||
InternalCalls.Camera_SetStackType(
|
||||
GameObjectUUID,
|
||||
(int)value);
|
||||
}
|
||||
|
||||
public CameraStackType stackType
|
||||
{
|
||||
get => StackType;
|
||||
set => StackType = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
10
managed/XCEngine.ScriptCore/CameraClearMode.cs
Normal file
10
managed/XCEngine.ScriptCore/CameraClearMode.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace XCEngine
|
||||
{
|
||||
public enum CameraClearMode
|
||||
{
|
||||
Auto = 0,
|
||||
ColorAndDepth,
|
||||
DepthOnly,
|
||||
None
|
||||
}
|
||||
}
|
||||
8
managed/XCEngine.ScriptCore/CameraStackType.cs
Normal file
8
managed/XCEngine.ScriptCore/CameraStackType.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace XCEngine
|
||||
{
|
||||
public enum CameraStackType
|
||||
{
|
||||
Base = 0,
|
||||
Overlay
|
||||
}
|
||||
}
|
||||
@@ -252,6 +252,18 @@ namespace XCEngine
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern void Camera_SetPrimary(ulong gameObjectUUID, bool value);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern int Camera_GetClearMode(ulong gameObjectUUID);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern void Camera_SetClearMode(ulong gameObjectUUID, int value);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern int Camera_GetStackType(ulong gameObjectUUID);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern void Camera_SetStackType(ulong gameObjectUUID, int value);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern float Light_GetIntensity(ulong gameObjectUUID);
|
||||
|
||||
@@ -903,11 +915,27 @@ namespace XCEngine
|
||||
Rendering_CameraRenderRequestContext_ClearDirectionalShadow(
|
||||
ulong nativeHandle);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern int
|
||||
Rendering_CameraRenderRequestContext_GetClearFlags(
|
||||
ulong nativeHandle);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern void
|
||||
Rendering_CameraRenderRequestContext_SetClearFlags(
|
||||
ulong nativeHandle,
|
||||
int clearFlags);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern int
|
||||
Rendering_RenderSceneSetupContext_GetRendererIndex(
|
||||
ulong nativeHandle);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern ulong
|
||||
Rendering_RenderSceneSetupContext_GetCameraGameObjectUUID(
|
||||
ulong nativeHandle);
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern bool
|
||||
Rendering_RenderSceneSetupContext_GetIsConfigured(
|
||||
|
||||
@@ -85,6 +85,19 @@ namespace XCEngine.Rendering
|
||||
m_nativeHandle);
|
||||
}
|
||||
|
||||
public RenderClearFlags clearFlags
|
||||
{
|
||||
get =>
|
||||
(RenderClearFlags)InternalCalls
|
||||
.Rendering_CameraRenderRequestContext_GetClearFlags(
|
||||
m_nativeHandle);
|
||||
set =>
|
||||
InternalCalls
|
||||
.Rendering_CameraRenderRequestContext_SetClearFlags(
|
||||
m_nativeHandle,
|
||||
(int)value);
|
||||
}
|
||||
|
||||
internal ulong nativeHandle =>
|
||||
m_nativeHandle;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
using System;
|
||||
|
||||
namespace XCEngine.Rendering
|
||||
{
|
||||
[Flags]
|
||||
public enum RenderClearFlags
|
||||
{
|
||||
None = 0,
|
||||
Color = 1 << 0,
|
||||
Depth = 1 << 1,
|
||||
All = Color | Depth
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,25 @@ namespace XCEngine.Rendering
|
||||
.Rendering_RenderSceneSetupContext_GetRendererIndex(
|
||||
m_nativeHandle);
|
||||
|
||||
public Camera camera
|
||||
{
|
||||
get
|
||||
{
|
||||
ulong cameraGameObjectUUID =
|
||||
InternalCalls
|
||||
.Rendering_RenderSceneSetupContext_GetCameraGameObjectUUID(
|
||||
m_nativeHandle);
|
||||
if (cameraGameObjectUUID == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
GameObject gameObject =
|
||||
new GameObject(cameraGameObjectUUID);
|
||||
return gameObject.GetComponent<Camera>();
|
||||
}
|
||||
}
|
||||
|
||||
public bool isConfigured =>
|
||||
InternalCalls
|
||||
.Rendering_RenderSceneSetupContext_GetIsConfigured(
|
||||
|
||||
Reference in New Issue
Block a user