Beispiel #1
0
 public void SetEffect(SkeletonDataAsset asset, Spine.AnimationState.StartEndDelegate action)
 {
     effect.gameObject.SetActive(true);
     roleasset.gameObject.SetActive(false);
     effect.skeletonDataAsset = asset;
     effect.ResetNew();
     effect.state.End += action;
 }
Beispiel #2
0
    public void SetEffect(SkeletonDataAsset asset, SkeletonDataAsset role, Spine.AnimationState.StartEndDelegate action)
    {
        effect.gameObject.SetActive(true);
        effect.skeletonDataAsset = asset;
        effect.ResetNew();

        roleasset.gameObject.SetActive(true);
        roleasset.skeletonDataAsset = role;
        roleasset.loop = true;
        roleasset.ResetNew();
        roleasset.state.SetAnimation(0, Def.RoleStanby, true);
        effect.state.End += action;
    }
        void TryPlayStartSound(AudioSource source, Spine.AnimationState state)
        {
            if (StartSound == null)
            {
                return;
            }

            StartEndDelegate handler = null;

            handler = delegate(Spine.AnimationState s, int trackIndex)
            {
                PlayOneShotDynamically(source, StartSound);
                state.Start -= handler;
            };

            state.Start += handler;
        }