Arx

So I have an enemy that can do melee attack, for which I'm using Bounding Box.
I followed this tutorial:

My setup is basically the same. In the video, "WeaponHitbox" child object is used - I have it like this:
rifle_editor.png

During runtime, when I deactivate the Enemy object (i.e. the parent of Rifle object), and reactivate it again, the Attachment Name "rifle_hitbox" disappears, like this:
rifle_reactivated.png

When I then try to play the melee attack animation, I get an error just when the polygon collider should appear:
KeyNotFoundException: The given key was not present in the dictionary.
System.Collections.Generic.Dictionary`2[Spine.BoundingBoxAttachment,UnityEngine.PolygonCollider2D].get_Item (Spine.BoundingBoxAttachment key) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:150)
BoundingBoxFollower.SetCurrent (Spine.BoundingBoxAttachment attachment) (at Assets/Extensions/Spine/spine-unity/spine-unity/BoundingBoxFollower.cs:181)
BoundingBoxFollower.LateUpdate () (at Assets/Extensions/Spine/spine-unity/spine-unity/BoundingBoxFollower.cs:172)
Which indeed seems to refer to that missing "rifle_hitbox" Attachment Name.

Is there anything I can do to alleviate this issue? Can I somehow reset the BoundingBoxFollower manually after I've reactivated the Enemy parent object?

I'm using Unity 5.2.0f Personal.

Thank you very much!
You do not have the required permissions to view the files attached to this post.
Arx
  • Posts: 3

Mitch

Thought I fixed this...
void OnEnable () {
ClearColliders();

if (skeletonRenderer == null)
skeletonRenderer = GetComponentInParent<SkeletonRenderer>();

if (skeletonRenderer != null) {
skeletonRenderer.OnReset -= HandleReset;
skeletonRenderer.OnReset += HandleReset;

if (hasReset) {
HandleReset(skeletonRenderer);
}

}
}
Not the most efficient solution ever, but here.
User avatar
Mitch
  • Posts: 978

Arx

Mitch wrote:Thought I fixed this...
Darn, you actually did. I checked the latest runtimes and found I had an old copy :( really sorry for taking your time but thanks for the fix! It works :)
Arx
  • Posts: 3


Return to Unity