docs: sync rendering pass execution docs

This commit is contained in:
2026-04-03 15:10:37 +08:00
parent d4afa022c1
commit 19bd38ab15
59 changed files with 1544 additions and 420 deletions

View File

@@ -572,6 +572,41 @@ void InternalCall_GameObject_SetName(uint64_t gameObjectUUID, MonoString* name)
gameObject->SetName(MonoStringToUtf8(name));
}
MonoString* InternalCall_GameObject_GetTag(uint64_t gameObjectUUID) {
Components::GameObject* gameObject = FindGameObjectByUUID(gameObjectUUID);
return mono_string_new(
mono_domain_get(),
gameObject ? gameObject->GetTag().c_str() : "");
}
void InternalCall_GameObject_SetTag(uint64_t gameObjectUUID, MonoString* tag) {
Components::GameObject* gameObject = FindGameObjectByUUID(gameObjectUUID);
if (!gameObject) {
return;
}
gameObject->SetTag(MonoStringToUtf8(tag));
}
mono_bool InternalCall_GameObject_CompareTag(uint64_t gameObjectUUID, MonoString* tag) {
Components::GameObject* gameObject = FindGameObjectByUUID(gameObjectUUID);
return (gameObject && gameObject->CompareTag(MonoStringToUtf8(tag))) ? 1 : 0;
}
int32_t InternalCall_GameObject_GetLayer(uint64_t gameObjectUUID) {
Components::GameObject* gameObject = FindGameObjectByUUID(gameObjectUUID);
return gameObject ? static_cast<int32_t>(gameObject->GetLayer()) : 0;
}
void InternalCall_GameObject_SetLayer(uint64_t gameObjectUUID, int32_t layer) {
Components::GameObject* gameObject = FindGameObjectByUUID(gameObjectUUID);
if (!gameObject) {
return;
}
gameObject->SetLayer(static_cast<uint8_t>(std::clamp(layer, 0, 31)));
}
mono_bool InternalCall_GameObject_GetActiveSelf(uint64_t gameObjectUUID) {
Components::GameObject* gameObject = FindGameObjectByUUID(gameObjectUUID);
return (gameObject && gameObject->IsActive()) ? 1 : 0;
@@ -1492,6 +1527,11 @@ void RegisterInternalCalls() {
mono_add_internal_call("XCEngine.InternalCalls::Input_GetMouseScrollDelta", reinterpret_cast<const void*>(&InternalCall_Input_GetMouseScrollDelta));
mono_add_internal_call("XCEngine.InternalCalls::GameObject_GetName", reinterpret_cast<const void*>(&InternalCall_GameObject_GetName));
mono_add_internal_call("XCEngine.InternalCalls::GameObject_SetName", reinterpret_cast<const void*>(&InternalCall_GameObject_SetName));
mono_add_internal_call("XCEngine.InternalCalls::GameObject_GetTag", reinterpret_cast<const void*>(&InternalCall_GameObject_GetTag));
mono_add_internal_call("XCEngine.InternalCalls::GameObject_SetTag", reinterpret_cast<const void*>(&InternalCall_GameObject_SetTag));
mono_add_internal_call("XCEngine.InternalCalls::GameObject_CompareTag", reinterpret_cast<const void*>(&InternalCall_GameObject_CompareTag));
mono_add_internal_call("XCEngine.InternalCalls::GameObject_GetLayer", reinterpret_cast<const void*>(&InternalCall_GameObject_GetLayer));
mono_add_internal_call("XCEngine.InternalCalls::GameObject_SetLayer", reinterpret_cast<const void*>(&InternalCall_GameObject_SetLayer));
mono_add_internal_call("XCEngine.InternalCalls::GameObject_GetActiveSelf", reinterpret_cast<const void*>(&InternalCall_GameObject_GetActiveSelf));
mono_add_internal_call("XCEngine.InternalCalls::GameObject_GetActiveInHierarchy", reinterpret_cast<const void*>(&InternalCall_GameObject_GetActiveInHierarchy));
mono_add_internal_call("XCEngine.InternalCalls::GameObject_SetActive", reinterpret_cast<const void*>(&InternalCall_GameObject_SetActive));