| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- using ChivaXR;
- using Sirenix.OdinInspector;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using UnityEngine;
- public class AnimationBackFill : MonoBehaviour
- {
- #if UNITY_EDITOR
- [HideInInspector]
- public string targetOperationDataName;
- [HideInInspector]
- public string sourceOperationDataName;
- [LabelText("动画源")]
- [ShowInInspector]
- [ValueDropdown("GetAllOperationDataNames", IsUniqueList = true)]
- public string OperationDataNameSource
- {
- get { return sourceOperationDataName; }
- set
- {
- if (sourceOperationDataName != value)
- {
- sourceOperationDataName = value;
- }
- }
- }
- [LabelText("回装动画")]
- [ShowInInspector]
- [ValueDropdown("GetAllOperationDataNames", IsUniqueList = true)]
- public string OperationDataNameTarget
- {
- get { return targetOperationDataName; }
- set
- {
- if (targetOperationDataName != value)
- {
- targetOperationDataName = value;
- }
- }
- }
- private static IEnumerable GetAllOperationDataNames()
- {
- return AnimationManager.Instance.animationDatas.Select(s => new ValueDropdownItem(s.AniDataName, s.AniDataName));
- }
- [Button("导入")]
- [PropertySpace(SpaceBefore=80)]
- public void AddSelectOperationData()
- {
- if (sourceOperationDataName == "" || targetOperationDataName == "") { return; }
- AniDataContainer sourceTmpAniDataContainer =
- AnimationManager.Instance.animationDatas.Where(s => s.AniDataName == sourceOperationDataName).First();
- AniDataContainer targeTmpAniDataContainer =
- AnimationManager.Instance.animationDatas.Where(s => s.AniDataName == targetOperationDataName).First();
- if (sourceTmpAniDataContainer != null || targeTmpAniDataContainer != null)
- {
- targeTmpAniDataContainer.aniData.AnimationDriverDatas = new List<AnimationDriverBase>(sourceTmpAniDataContainer.aniData.AnimationDriverDatas);
- targeTmpAniDataContainer.aniData.AnimationDriverDatas.Reverse();
- try
- {
- /* AniDataEditorContainer sourceAnimationEditorDatas =
- AnimationDataEditor.Instance.animationEditorDatas.Where(s => s.AniName == sourceOperationDataName).First();
- AniDataEditorContainer targetAnimationEditorDatas =
- AnimationDataEditor.Instance.animationEditorDatas.Where(s => s.AniName == targetOperationDataName).First();
- targetAnimationEditorDatas.relatGameObjects = sourceAnimationEditorDatas.relatGameObjects;*/
- }
- catch (System.Exception)
- {
- }
- }
- }
- #endif
- }
|