1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using System;
- using LitJson;
- using UnityEngine;
- public class PlayerWeaponEffectSync : BaseBehaviour
- {
- private void Awake()
- {
- this.animData = JsonMapper.ToObject(this.animMapping.text);
- }
- private void OnEnable()
- {
- this.animController.OnAnimChange += this.PlayEffect;
- }
- private void OnDisable()
- {
- if (this.animController)
- {
- this.animController.OnAnimChange -= this.PlayEffect;
- }
- }
- private void OnDestroy()
- {
- if (this.animController)
- {
- this.animController.OnAnimChange -= this.PlayEffect;
- }
- }
- private void Update()
- {
- this.m_skeletonAnimation.timeScale = this.animController.timeScale;
- }
- private void PlayEffect(object obj, MultiSpineAnimationController.EffectArgs e)
- {
- string effectName = e.effectName;
- if (this.animData.Contains(effectName))
- {
- this.m_skeletonAnimation.state.SetAnimation(0, effectName, e.loop);
- }
- else
- {
- this.m_skeletonAnimation.state.SetAnimation(0, "Null", true);
- }
- this.m_skeletonAnimation.skeleton.SetToSetupPose();
- }
- [SerializeField]
- private SkeletonAnimation m_skeletonAnimation;
- [SerializeField]
- private MultiSpineAnimationController animController;
- [SerializeField]
- private TextAsset animMapping;
- private JsonData animData;
- }
|