refactor(srp): tighten request and scene setup seams
This commit is contained in:
@@ -4010,6 +4010,40 @@ void InternalCall_Camera_SetPrimary(uint64_t gameObjectUUID, mono_bool value) {
|
||||
component->SetPrimary(value != 0);
|
||||
}
|
||||
|
||||
int32_t InternalCall_Camera_GetClearMode(uint64_t gameObjectUUID) {
|
||||
Components::CameraComponent* component = FindCameraComponent(gameObjectUUID);
|
||||
return component != nullptr
|
||||
? static_cast<int32_t>(component->GetClearMode())
|
||||
: 0;
|
||||
}
|
||||
|
||||
void InternalCall_Camera_SetClearMode(uint64_t gameObjectUUID, int32_t value) {
|
||||
Components::CameraComponent* component = FindCameraComponent(gameObjectUUID);
|
||||
if (!component) {
|
||||
return;
|
||||
}
|
||||
|
||||
component->SetClearMode(
|
||||
static_cast<Components::CameraClearMode>(value));
|
||||
}
|
||||
|
||||
int32_t InternalCall_Camera_GetStackType(uint64_t gameObjectUUID) {
|
||||
Components::CameraComponent* component = FindCameraComponent(gameObjectUUID);
|
||||
return component != nullptr
|
||||
? static_cast<int32_t>(component->GetStackType())
|
||||
: 0;
|
||||
}
|
||||
|
||||
void InternalCall_Camera_SetStackType(uint64_t gameObjectUUID, int32_t value) {
|
||||
Components::CameraComponent* component = FindCameraComponent(gameObjectUUID);
|
||||
if (!component) {
|
||||
return;
|
||||
}
|
||||
|
||||
component->SetStackType(
|
||||
static_cast<Components::CameraStackType>(value));
|
||||
}
|
||||
|
||||
float InternalCall_Light_GetIntensity(uint64_t gameObjectUUID) {
|
||||
Components::LightComponent* component = FindLightComponent(gameObjectUUID);
|
||||
return component ? component->GetIntensity() : 0.0f;
|
||||
@@ -5519,6 +5553,29 @@ void InternalCall_Rendering_CameraRenderRequestContext_ClearDirectionalShadow(
|
||||
state->suppressDirectionalShadow = true;
|
||||
}
|
||||
|
||||
int32_t InternalCall_Rendering_CameraRenderRequestContext_GetClearFlags(
|
||||
uint64_t nativeHandle) {
|
||||
const ManagedCameraRenderRequestContextState* const state =
|
||||
FindManagedCameraRenderRequestContextState(nativeHandle);
|
||||
return state != nullptr &&
|
||||
state->request != nullptr
|
||||
? static_cast<int32_t>(state->request->clearFlags)
|
||||
: static_cast<int32_t>(Rendering::RenderClearFlags::All);
|
||||
}
|
||||
|
||||
void InternalCall_Rendering_CameraRenderRequestContext_SetClearFlags(
|
||||
uint64_t nativeHandle,
|
||||
int32_t clearFlags) {
|
||||
ManagedCameraRenderRequestContextState* const state =
|
||||
FindManagedCameraRenderRequestContextState(nativeHandle);
|
||||
if (state == nullptr || state->request == nullptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
state->request->clearFlags =
|
||||
static_cast<Rendering::RenderClearFlags>(clearFlags);
|
||||
}
|
||||
|
||||
int32_t
|
||||
InternalCall_Rendering_RenderSceneSetupContext_GetRendererIndex(
|
||||
uint64_t nativeHandle) {
|
||||
@@ -5530,6 +5587,21 @@ InternalCall_Rendering_RenderSceneSetupContext_GetRendererIndex(
|
||||
: -1;
|
||||
}
|
||||
|
||||
uint64_t
|
||||
InternalCall_Rendering_RenderSceneSetupContext_GetCameraGameObjectUUID(
|
||||
uint64_t nativeHandle) {
|
||||
const ManagedRenderSceneSetupContextState* const state =
|
||||
FindManagedRenderSceneSetupContextState(nativeHandle);
|
||||
if (state == nullptr ||
|
||||
state->plan == nullptr ||
|
||||
state->plan->request.camera == nullptr ||
|
||||
state->plan->request.camera->GetGameObject() == nullptr) {
|
||||
return 0u;
|
||||
}
|
||||
|
||||
return state->plan->request.camera->GetGameObject()->GetUUID();
|
||||
}
|
||||
|
||||
mono_bool
|
||||
InternalCall_Rendering_RenderSceneSetupContext_GetIsConfigured(
|
||||
uint64_t nativeHandle) {
|
||||
@@ -6024,6 +6096,10 @@ void RegisterInternalCalls() {
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Camera_SetDepth", reinterpret_cast<const void*>(&InternalCall_Camera_SetDepth));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Camera_GetPrimary", reinterpret_cast<const void*>(&InternalCall_Camera_GetPrimary));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Camera_SetPrimary", reinterpret_cast<const void*>(&InternalCall_Camera_SetPrimary));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Camera_GetClearMode", reinterpret_cast<const void*>(&InternalCall_Camera_GetClearMode));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Camera_SetClearMode", reinterpret_cast<const void*>(&InternalCall_Camera_SetClearMode));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Camera_GetStackType", reinterpret_cast<const void*>(&InternalCall_Camera_GetStackType));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Camera_SetStackType", reinterpret_cast<const void*>(&InternalCall_Camera_SetStackType));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Light_GetIntensity", reinterpret_cast<const void*>(&InternalCall_Light_GetIntensity));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Light_SetIntensity", reinterpret_cast<const void*>(&InternalCall_Light_SetIntensity));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Light_GetRange", reinterpret_cast<const void*>(&InternalCall_Light_GetRange));
|
||||
@@ -6158,7 +6234,10 @@ void RegisterInternalCalls() {
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_CameraRenderRequestContext_GetDirectionalShadowPlanningSettings", reinterpret_cast<const void*>(&InternalCall_Rendering_CameraRenderRequestContext_GetDirectionalShadowPlanningSettings));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_CameraRenderRequestContext_SetDirectionalShadowPlanningSettings", reinterpret_cast<const void*>(&InternalCall_Rendering_CameraRenderRequestContext_SetDirectionalShadowPlanningSettings));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_CameraRenderRequestContext_ClearDirectionalShadow", reinterpret_cast<const void*>(&InternalCall_Rendering_CameraRenderRequestContext_ClearDirectionalShadow));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_CameraRenderRequestContext_GetClearFlags", reinterpret_cast<const void*>(&InternalCall_Rendering_CameraRenderRequestContext_GetClearFlags));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_CameraRenderRequestContext_SetClearFlags", reinterpret_cast<const void*>(&InternalCall_Rendering_CameraRenderRequestContext_SetClearFlags));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_RenderSceneSetupContext_GetRendererIndex", reinterpret_cast<const void*>(&InternalCall_Rendering_RenderSceneSetupContext_GetRendererIndex));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_RenderSceneSetupContext_GetCameraGameObjectUUID", reinterpret_cast<const void*>(&InternalCall_Rendering_RenderSceneSetupContext_GetCameraGameObjectUUID));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_RenderSceneSetupContext_GetIsConfigured", reinterpret_cast<const void*>(&InternalCall_Rendering_RenderSceneSetupContext_GetIsConfigured));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_RenderSceneSetupContext_UseDefaultSceneSetup", reinterpret_cast<const void*>(&InternalCall_Rendering_RenderSceneSetupContext_UseDefaultSceneSetup));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_RenderSceneSetupContext_UseDefaultEnvironment", reinterpret_cast<const void*>(&InternalCall_Rendering_RenderSceneSetupContext_UseDefaultEnvironment));
|
||||
|
||||
Reference in New Issue
Block a user