feat(rendering): select managed SRP through asset instances
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
#include <XCEngine/Rendering/Pipelines/ScriptableRenderPipelineHost.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <cstddef>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
@@ -19,11 +20,16 @@ struct ManagedRenderPipelineAssetDescriptor {
|
||||
std::string assemblyName;
|
||||
std::string namespaceName;
|
||||
std::string className;
|
||||
uint32_t managedAssetHandle = 0u;
|
||||
|
||||
bool IsValid() const {
|
||||
return !assemblyName.empty() && !className.empty();
|
||||
}
|
||||
|
||||
bool HasManagedAssetHandle() const {
|
||||
return managedAssetHandle != 0u;
|
||||
}
|
||||
|
||||
std::string GetFullName() const {
|
||||
return namespaceName.empty()
|
||||
? className
|
||||
|
||||
@@ -72,6 +72,10 @@ public:
|
||||
MonoObject* GetManagedInstanceObject(const ScriptComponent* component) const;
|
||||
MonoObject* CreateManagedComponentWrapper(MonoClass* componentClass, uint64_t gameObjectUUID);
|
||||
bool DestroyManagedObject(MonoObject* managedObject);
|
||||
MonoObject* GetExternalManagedObject(uint32_t gcHandle) const;
|
||||
uint32_t RetainExternalManagedObjectReference(MonoObject* managedObject);
|
||||
void ReleaseExternalManagedObject(uint32_t gcHandle);
|
||||
bool IsScriptableRenderPipelineAssetObject(MonoObject* managedObject) const;
|
||||
|
||||
bool TryGetFieldValue(
|
||||
const ScriptComponent* component,
|
||||
|
||||
Reference in New Issue
Block a user