public static GameObject CreateAniResOrOther(string prefabPath, Subject2 owner, UserTriggerDelegate handleFunc) { GameObject gameObject = null; if (!string.IsNullOrEmpty(prefabPath)) { gameObject = RecycleManager.Instance.Instantiate(prefabPath); if (gameObject != null) { AniResource aniRes = gameObject.GetComponent<AniResource>(); if (aniRes != null) { aniRes.owner = owner as Automaton; aniRes.RegisterUserTriggerDelegate(handleFunc); } } if (gameObject == null) { Debug.LogWarning("prefabPath null: [" + prefabPath + "]"); CubeTile.E_Pivot pivot = CubeTile.E_Pivot.BC; if (owner is Projectile) { pivot = CubeTile.E_Pivot.MC; } gameObject = CubeTile.Create(pivot).gameObject; gameObject.transform.localScale = new Vector3(owner.Rect.width, owner.Rect.height, 0); } } return gameObject; }
public void RegisterUserTriggerDelegate(UserTriggerDelegate handleFunc) { if (triggerDelegate != null) { boneAnimation.UnregisterUserTriggerDelegate(triggerDelegate); } boneAnimation.RegisterUserTriggerDelegate(handleFunc); triggerDelegate = handleFunc; }
public void RegisterUserTriggerDelegate(UserTriggerDelegate handleFunc, Spine.AnimationState.EventDelegate spineEvent) { if (boneAnimation != null) { if (triggerDelegate != null) { boneAnimation.UnregisterUserTriggerDelegate(triggerDelegate); } boneAnimation.RegisterUserTriggerDelegate(handleFunc); triggerDelegate = handleFunc; } else if (skeletonAnimation != null) { if (spineDelegate != null) { skeletonAnimation.state.Event -= spineDelegate; } skeletonAnimation.state.Event += spineEvent; spineDelegate = spineEvent; } }