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; }
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; }