DragonBonesCSharp icon indicating copy to clipboard operation
DragonBonesCSharp copied to clipboard

Unity3D Null Reference Exception

Open CasulScrub opened this issue 5 years ago • 5 comments

I am having this null reference thrown very randomly, so it is hard to trace the cause. I am using Unity 2018.3. It stops my animations from playing. NullReferenceException: Object reference not set to an instance of an object DragonBones.AnimationState.AdvanceTime (Single passedTime, Single cacheFrameRate) (at Assets/DragonBones/Scripts/animation/AnimationState.cs:951

CasulScrub avatar Oct 19 '18 17:10 CasulScrub

This error also occurs randomly, switching between scenes.

InvalidOperationException: Destroying a GameObject inside a Prefab instance is not allowed. UnityEngine.Object.DestroyImmediate (UnityEngine.Object obj) (at C:/buildslave/unity/build/Runtime/Export/UnityEngineObject.bindings.cs:322) DragonBones.UnityFactoryHelper.DestroyUnityObject (UnityEngine.Object obj) (at Assets/DragonBones/Scripts/unity/UnityFactory.cs:1171) DragonBones.UnitySlot._DisposeDisplay (System.Object value, Boolean isRelease) (at Assets/DragonBones/Scripts/unity/UnitySlot.cs:138) DragonBones.Slot._OnClear () (at Assets/DragonBones/Scripts/armature/Slot.cs:187) DragonBones.UnitySlot._OnClear () (at Assets/DragonBones/Scripts/unity/UnitySlot.cs:94) DragonBones.BaseObject.ReturnToPool () (at Assets/DragonBones/Scripts/core/BaseObject.cs:221) DragonBones.Armature._OnClear () (at Assets/DragonBones/Scripts/armature/Armature.cs:131) DragonBones.BaseObject.ReturnToPool () (at Assets/DragonBones/Scripts/core/BaseObject.cs:221) DragonBones.DragonBones.AdvanceTime (Single passedTime) (at Assets/DragonBones/Scripts/core/DragonBones.cs:329) DragonBones.UnityArmatureComponent.OnDestroy () (at Assets/DragonBones/Scripts/unity/UnityArmatureComponent.cs:746) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

CasulScrub avatar Oct 26 '18 17:10 CasulScrub

I don't know if you still need this fixed but i fixed it in my forked version https://github.com/SirLink/DragonBonesCSharp

SirLink avatar Jan 13 '19 05:01 SirLink

I don't know if you still need this fixed but i fixed it in my forked version https://github.com/SirLink/DragonBonesCSharp

Did you fix the first one or the second one?

JuanGdelaCruz avatar Jul 24 '19 15:07 JuanGdelaCruz

I don't know if you still need this fixed but i fixed it in my forked version https://github.com/SirLink/DragonBonesCSharp

Did you fix the first one or the second one?

The first one

SirLink avatar Jul 24 '19 16:07 SirLink

This error also occurs randomly, switching between scenes.

InvalidOperationException: Destroying a GameObject inside a Prefab instance is not allowed. UnityEngine.Object.DestroyImmediate (UnityEngine.Object obj) (at C:/buildslave/unity/build/Runtime/Export/UnityEngineObject.bindings.cs:322) DragonBones.UnityFactoryHelper.DestroyUnityObject (UnityEngine.Object obj) (at Assets/DragonBones/Scripts/unity/UnityFactory.cs:1171) DragonBones.UnitySlot._DisposeDisplay (System.Object value, Boolean isRelease) (at Assets/DragonBones/Scripts/unity/UnitySlot.cs:138) DragonBones.Slot._OnClear () (at Assets/DragonBones/Scripts/armature/Slot.cs:187) DragonBones.UnitySlot._OnClear () (at Assets/DragonBones/Scripts/unity/UnitySlot.cs:94) DragonBones.BaseObject.ReturnToPool () (at Assets/DragonBones/Scripts/core/BaseObject.cs:221) DragonBones.Armature._OnClear () (at Assets/DragonBones/Scripts/armature/Armature.cs:131) DragonBones.BaseObject.ReturnToPool () (at Assets/DragonBones/Scripts/core/BaseObject.cs:221) DragonBones.DragonBones.AdvanceTime (Single passedTime) (at Assets/DragonBones/Scripts/core/DragonBones.cs:329) DragonBones.UnityArmatureComponent.OnDestroy () (at Assets/DragonBones/Scripts/unity/UnityArmatureComponent.cs:746) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

UnityArmatureComponent.cs void DBClear()

if (this._armature != null)
            {
                this._armature = null;
                if (this._disposeProxy)
                {
                    try
                    {
                        var go = gameObject;
                        UnityFactoryHelper.DestroyUnityObject(gameObject);
                    }
                    catch (System.Exception e)
                    {

                    }
                }
            }

hzj730 avatar Feb 27 '20 12:02 hzj730