Open limefrogyank opened 3 years ago
Looks like I might have to write a custom CachedEntityConverter
Wasn't sure how to do the CachedEntityConverter
. Instead this javascript hack seems to work:
function pushClassToArray(root, identifier, ...args) {
try {
var arrayEntity = blazorInterop.cacheEntity(root, identifier);
for (var i = 0; i < args.length; i++) {
blazorInterop.call(arrayEntity, "push", args[i]);
}
} catch (ex) {
console.log("error", ex);
}
}
used like this with a synchronous JSRuntime:
Runtime.InvokeVoid("pushClassToArray", _shadowRenderTarget.___guid, "renderList", _moleculeMesh);
This looks like a deficiency in the generator, I will look at getting this in.
I'm at a loss as to how to add an array of a class type. For example, in
RenderTargetTexture
, you need to add any meshes that you want rendered into a property on theRenderTargetTexture
object calledrenderList
. This is a plain array of typeAbstractMesh[]
. The generator picks this up just fine. I try to use it like this:However, when I later call
render()
on theRenderTargetTexture
, BabylonJS spits out an error. The actual JS AbstractMesh object is the Cached version that has the___guid
. There doesn't seem to be a way to translate those C# objects to the javascript objects. I can't seem to find a way to manipulate arrays, so I'm not sure what to do next.