private void DynamicLoader_OnDynamicLoad(DynamicLoadingState state, DynamicLoader loader, Node node) { // Locked in edit or render (render) by caller if (state == DynamicLoadingState.LOADED || state == DynamicLoadingState.UNLOADED) { pendingLoaders.Add(new NodeLoadInfo(state, loader, node)); } else { loader?.ReleaseNoDelete(); // Same here. We are getting refs to objects in scene graph that we shouldnt release in GC node?.ReleaseNoDelete(); } }
private void DynamicLoader_OnDynamicLoad(DynamicLoadingState state, DynamicLoader loader, Node node) { // Locked in edit or render (render) by caller if (state == DynamicLoadingState.LOADED || state == DynamicLoadingState.UNLOADED) { //if(node != null && node.IsValid()) // Message.Send("Unity", MessageLevel.DEBUG, state + " " + node.GetName()); //else if (loader != null && loader.IsValid()) // Message.Send("Unity", MessageLevel.DEBUG, state + " " + loader.GetName()); pendingLoaders.Add(new NodeLoadInfo(state, loader, node)); } else { loader?.ReleaseNoDelete(); // Same here. We are getting refs to objects in scene graph that we shouldnt release in GC node?.ReleaseNoDelete(); } }
public NodeLoadInfo(DynamicLoadingState _state, DynamicLoader _loader, Node _node) { state = _state; loader = _loader; node = _node; }
private static void OnDynamicLoad_callback(DynamicLoadingState state, IntPtr loader_reference, IntPtr node_reference) { OnDynamicLoad?.Invoke(state, CreateObject(loader_reference) as DynamicLoader, CreateObject(node_reference) as Node); }
private static void MessageHandler(DynamicLoadingState state, IntPtr loader_reference, IntPtr node_reference) { OnDynamicLoad?.Invoke(state, CreateObject(loader_reference) as DynamicLoader, CreateObject(node_reference) as Node); }