DESKTOP-FB72PO8\Administrator 1 mês atrás
pai
commit
2dd4bca902

+ 1 - 1
Assets/Scripts/Core/Event/EasyEvent.cs

@@ -79,7 +79,7 @@ public class EasyEvent<T, K> : IEasyEvent
     public void UnRegister(Action<T, K> onEvent) => mOnEvent -= onEvent;
 
     public void Trigger(T t, K k) => mOnEvent?.Invoke(t, k);
-
+    public void Close() => mOnEvent = null;
     IUnRegister IEasyEvent.Register(Action onEvent)
     {
         return Register(Action);

+ 3 - 3
Assets/Scripts/Core/Triiger/OnTriggerEnterEventTrigger.cs

@@ -14,10 +14,10 @@ namespace Core.Triiger
     public class OnTriggerEnterEventTrigger : MonoBehaviour
     {
         public ITriggerEntity triggerEntity;
-        public readonly EasyEvent<Collider> OnTriggerEnterEvent = new EasyEvent<Collider>();
+        public readonly EasyEvent<Collider,ITriggerEntity> OnTriggerEnterEvent = new EasyEvent<Collider,ITriggerEntity>();
         private void OnTriggerEnter(Collider collider)
         {
-            OnTriggerEnterEvent.Trigger(collider);         
+            OnTriggerEnterEvent.Trigger(collider,triggerEntity);         
         }
     }
 
@@ -30,7 +30,7 @@ namespace Core.Triiger
         //         .Register(onTriggerEnter);
         // }
         
-        public static IUnRegister OnTriggerEnterEvent(this GameObject self,ITriggerEntity triggerEntity, Action<Collider> onTriggerEnter)
+        public static IUnRegister OnTriggerEnterEvent(this GameObject self,ITriggerEntity triggerEntity, Action<Collider,ITriggerEntity> onTriggerEnter)
         {
             OnTriggerEnterEventTrigger onTriggerEnterEventTrigger=  self.GetOrAddComponent<OnTriggerEnterEventTrigger>();
             onTriggerEnterEventTrigger.triggerEntity = triggerEntity;

+ 5 - 1
Assets/Scripts/GameLogic/Combat/CombatTool/CombatCalculateTool.cs

@@ -33,7 +33,11 @@ namespace GameLogic.Combat.CombatTool
             long v = (value * (long)(ration * 100)) / 10000;
             return v;
         }
-
+        public int GetVlaueRatioForInt(int value, float ration)
+        {
+            int v = (value * (int)(ration * 100)) / 10000;
+            return v;
+        }
 
         public HarmReturnInfo Harm(CombatHeroEntity source, CombatHeroEntity target, long att, AttType attType,
             TriggerData triggerData, HarmType harmType = HarmType.Null)

+ 1 - 1
Assets/Scripts/GameLogic/Combat/Hero/State/MagicWeaponMoveState.cs

@@ -65,7 +65,7 @@ namespace GameLogic.Combat.Hero.State
             return startPos + new Vector3(x, y, 0);
         }
 
-        private void OnTriggerEnter(Collider collider)
+        private void OnTriggerEnter(Collider collider,ITriggerEntity triggerEntity)
         {
             HeroEntityMono heroEntityMono = collider.GetComponent<HeroEntityMono>();
             if (heroEntityMono == null || heroEntityMono.combatHeroEntity != myCombatMagicWeaponEntity.CollidingTarget)

+ 9 - 2
Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs

@@ -66,7 +66,7 @@ namespace GameLogic.Combat.Skill
         /// </summary>
         public CombatHeroEntity currFocusTarget;
 
-
+        private SkillFeaturesData SkillFeaturesData;
         /// <summary>
         /// 激活的timelinegoup名字
         /// </summary>
@@ -124,11 +124,18 @@ namespace GameLogic.Combat.Skill
 
         public void InitSkill(CombatHeroEntity combatHeroEntity)
         {
-         
+            SkillFeaturesData = new SkillFeaturesData();
+            SkillFeaturesData.SkillFeaturesType = SkillFeaturesType.Earth;
+            SkillFeaturesData.hp = 100;
             _combatHeroEntity = combatHeroEntity;
             ProInitSkill();
         }
 
+        public SkillFeaturesData GetSkillFeaturesData()
+        {
+            return SkillFeaturesData.CapyFeaturesData();
+        }
+
         public override void ActiveObj()
         {
         }

+ 57 - 6
Assets/Scripts/GameLogic/Combat/Skill/SkillFeaturesData.cs

@@ -1,9 +1,13 @@
+using System;
 using Fort23.Core;
 
 namespace GameLogic.Combat.Skill
 {
+    [Flags]
     public enum SkillFeaturesType
     {
+        Null = 0,
+
         // 金
         Gold = 1,
 
@@ -23,22 +27,69 @@ namespace GameLogic.Combat.Skill
     public class SkillFeaturesData : CObject
     {
         /// <summary>
-        /// 威能值,影响最后的伤害数
+        /// 防御
         /// </summary>
-        public float Vaillant;
+        public int def;
 
         /// <summary>
-        /// 伤害值,影响最终的伤害数
+        /// 生命
         /// </summary>
-        public float harmValue;
+        public int hp;
+
 
         public SkillFeaturesType SkillFeaturesType;
 
+        public int GetRestrained(SkillFeaturesType targetSkillFeaturesType)
+        {
+            int c = 0;
+            if (SkillFeaturesType.HasFlag(SkillFeaturesType.Gold))
+            {
+                if (targetSkillFeaturesType.HasFlag(SkillFeaturesType.Wood))
+                {
+                    c++;
+                }
+            }
+
+            if (SkillFeaturesType.HasFlag(SkillFeaturesType.Wood))
+            {
+                if (targetSkillFeaturesType.HasFlag(SkillFeaturesType.Earth))
+                {
+                    c++;
+                }
+            }
+
+            if (SkillFeaturesType.HasFlag(SkillFeaturesType.Water))
+            {
+                if (targetSkillFeaturesType.HasFlag(SkillFeaturesType.Fire))
+                {
+                    c++;
+                }
+            }
+
+            if (SkillFeaturesType.HasFlag(SkillFeaturesType.Fire))
+            {
+                if (targetSkillFeaturesType.HasFlag(SkillFeaturesType.Gold))
+                {
+                    c++;
+                }
+            }
+
+            if (SkillFeaturesType.HasFlag(SkillFeaturesType.Earth))
+            {
+                if (targetSkillFeaturesType.HasFlag(SkillFeaturesType.Wood))
+                {
+                    c++;
+                }
+            }
+
+            return c;
+        }
+
         public SkillFeaturesData CapyFeaturesData()
         {
             SkillFeaturesData skillFeaturesData = CObjectPool.Instance.Fetch<SkillFeaturesData>();
-            skillFeaturesData.Vaillant = Vaillant;
-            skillFeaturesData.harmValue = harmValue;
+            skillFeaturesData.hp = hp;
+            skillFeaturesData.def = def;
             skillFeaturesData.SkillFeaturesType = SkillFeaturesType;
             return skillFeaturesData;
         }

+ 1 - 1
Assets/Scripts/GameLogic/Paritcle/ParitcleLogic/FxAIBeelineBulletLogic.cs

@@ -59,7 +59,7 @@ namespace Common.Combat.FxAILogic
             Dispose();
         }
 
-        protected void OnTriggerEnterEvent(Collider collision)
+        protected void OnTriggerEnterEvent(Collider collision,ITriggerEntity triggerEntity)
         {
             ITimeLineTriggerEvent timeLineTriggerEvent =
                 TimeLineEventParticleLogicBasic.ITimeLineTriggerEntity as ITimeLineTriggerEvent;

+ 5 - 3
Assets/Scripts/GameLogic/Paritcle/ParitcleLogic/FxAILogicBasic.cs

@@ -16,15 +16,15 @@ using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventLogic;
 
 namespace Common.Combat.FxAILogic
 {
-    public abstract class FxAILogicBasic : MonoBehaviour, IDisposable, ITimelineFxLogic,ITriggerEntity
+    public abstract class FxAILogicBasic : MonoBehaviour, IDisposable, ITimelineFxLogic, ITriggerEntity
     {
         private TimeLineEventParticleLogicBasic _timeLineEventParticleLogicBasic;
         private ILifetCycleHitPoint _attTarget;
 
         public SkillFeaturesData SkillFeaturesData;
         [Header("碰撞时的特效")] public string hitFxName;
-        [Header("碰撞音效")]
-        public string hitAudioName;
+        [Header("碰撞音效")] public string hitAudioName;
+
         public ILifetCycleHitPoint AttTarget
         {
             get { return _attTarget; }
@@ -100,6 +100,8 @@ namespace Common.Combat.FxAILogic
             {
                 trigger.TimelineFxLogicInit(timeLineEventParticleLogicBasic.timeLinePlayFxSerializtion.groupName, this,
                     triggerData);
+                SkillBasic skillBasic = trigger as SkillBasic;
+                SkillFeaturesData = skillBasic.GetSkillFeaturesData();
             }
 
 

+ 1 - 1
Assets/Scripts/GameLogic/Paritcle/ParitcleLogic/FxNavigationLogic.cs

@@ -51,7 +51,7 @@ public class FxNavigationLogic : FxAILogicBasic
         _currPenetrateCount = 0;
     }
 
-    protected void OnTriggerEnterEvent(Collider collision)
+    protected void OnTriggerEnterEvent(Collider collision,ITriggerEntity triggerEntity)
     {
         HeroEntityMono heroEntityMono = collision.gameObject.GetComponent<HeroEntityMono>();
         if (heroEntityMono == null)

+ 61 - 12
Assets/Scripts/GameLogic/Paritcle/ParitcleLogic/FxParabolaBulletLogic.cs

@@ -3,6 +3,7 @@ using Core.Audio;
 using Core.Triiger;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Combat.Hero;
+using GameLogic.Combat.Skill;
 using UnityEngine;
 using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
 
@@ -32,7 +33,7 @@ namespace Common.Combat.FxAILogic
         protected override void ProInit()
         {
             maxDisSpr = maxDis * maxDis;
-            UnRegister = gameObject.OnTriggerEnterEvent(this,OnTriggerEnterEvent);
+            UnRegister = gameObject.OnTriggerEnterEvent(this, OnTriggerEnterEvent);
             if (isUseCustomTargetEndPos)
             {
                 endPos = TimeLineEventParticleLogicBasic.customizePos[
@@ -45,15 +46,17 @@ namespace Common.Combat.FxAILogic
             }
 
             Vector3 off = _currPos - CombatHeroEntity.GameObject.transform.position;
-            startDir = CombatHeroEntity.GameObject.transform.TransformPoint(off+new Vector3(Mathf.Sign(Random.Range(-1, 1)*0.5f),
-                Random.Range(0.1f, 0.3f), 0));
-            
-            startDir =( startDir-_currPos).normalized;
+            startDir = CombatHeroEntity.GameObject.transform.TransformPoint(off +
+                                                                            new Vector3(
+                                                                                Mathf.Sign(Random.Range(-1, 1) * 0.5f),
+                                                                                Random.Range(0.1f, 0.3f), 0));
+
+            startDir = (startDir - _currPos).normalized;
             dirLerpTime = 0;
             // dir = (endPos - CurrPos).normalized;
             // gameObject.transform.rotation = Quaternion.LookRotation(dir);
         }
-       
+
         void TriggerGround()
         {
             ITimeLineTriggerEvent timeLineTriggerEvent =
@@ -86,10 +89,8 @@ namespace Common.Combat.FxAILogic
             }
         }
 
-        protected void OnTriggerEnterEvent(Collider collision)
+        protected void OnTriggerEnterEvent(Collider collision, ITriggerEntity triggerEntity)
         {
-            ITimeLineTriggerEvent timeLineTriggerEvent =
-                TimeLineEventParticleLogicBasic.ITimeLineTriggerEntity as ITimeLineTriggerEvent;
             if (isTriggerGroundEnd)
             {
                 if (collision.gameObject.CompareTag("dimian"))
@@ -99,7 +100,54 @@ namespace Common.Combat.FxAILogic
                 }
             }
 
-            HeroEntityMono heroEntityMono = collision.gameObject.GetComponent<HeroEntityMono>();
+            FxAILogicBasic fxAILogicBasic = triggerEntity as FxAILogicBasic;
+            if (fxAILogicBasic != null) //击中其他的功法
+            {
+                SkillFeaturesData skillFeaturesData = fxAILogicBasic.SkillFeaturesData;
+                int myRestrained = SkillFeaturesData.GetRestrained(skillFeaturesData.SkillFeaturesType);
+                int targetRestrained = skillFeaturesData.GetRestrained(SkillFeaturesData.SkillFeaturesType);
+                int c = myRestrained - targetRestrained;
+                int myHp = SkillFeaturesData.hp;
+                int targetHp = skillFeaturesData.hp;
+                if (c < 0) //我被压制
+                {
+                    myHp -= CombatCalculateTool.Instance.GetVlaueRatioForInt(myHp, 10 * (Mathf.Abs(c)));
+                }
+                else if (c > 0)
+                {
+                    targetHp -= CombatCalculateTool.Instance.GetVlaueRatioForInt(targetHp, 10 * (Mathf.Abs(c)));
+                }
+
+                if (myHp > targetHp)
+                {
+                    myHp -= targetHp;
+                    SkillFeaturesData.hp = myHp;
+                    fxAILogicBasic.Dispose();
+                }
+                else if (myHp < targetHp)
+                {
+                    targetHp -= myHp;
+                    skillFeaturesData.hp = targetHp;
+                    Dispose();
+                }
+                else if (myHp == targetHp)
+                {
+                    myHp = 0;
+                    fxAILogicBasic.Dispose();
+                    Dispose();
+                }
+
+                return;
+            }
+            else
+            {
+                HeroEntityMono heroEntityMono = collision.gameObject.GetComponent<HeroEntityMono>();
+                TriggerHero(collision, heroEntityMono);
+            }
+        }
+
+        protected void TriggerHero(Collider collision, HeroEntityMono heroEntityMono)
+        {
             if (heroEntityMono == null)
             {
                 return;
@@ -111,6 +159,8 @@ namespace Common.Combat.FxAILogic
                 return;
             }
 
+            ITimeLineTriggerEvent timeLineTriggerEvent =
+                TimeLineEventParticleLogicBasic.ITimeLineTriggerEntity as ITimeLineTriggerEvent;
             if (timeLineTriggerEvent != null)
             {
                 timeLineTriggerEvent.TimeLineTrigger(TimeLineEventParticleLogicBasic.TimeLineEventLogicGroup.groupName,
@@ -141,7 +191,7 @@ namespace Common.Combat.FxAILogic
         protected override void ProCombatUpdate(float time)
         {
             currTime += _addTime * time;
-            dirLerpTime += time*4F;
+            dirLerpTime += time * 4F;
             if (dirLerpTime > 1)
             {
                 dirLerpTime = 1;
@@ -160,7 +210,6 @@ namespace Common.Combat.FxAILogic
             {
                 Dispose();
             }
-            
         }
 
         protected override void ProDispose()

+ 1 - 1
Assets/Scripts/GameTimeLine/CustomizeTimeLogic/FxLogic/TimeLineEventLogic/TimeLineAlertLogic.cs

@@ -75,7 +75,7 @@ namespace UTool.CustomizeTimeLogic.FxLogic.TimeLineEventLogic
             }
         }
 
-        protected void OnTriggerEnterEvent(Collider collider)
+        protected void OnTriggerEnterEvent(Collider collider,ITriggerEntity triggerEntity)
         {
             TimeLineAlertSeriailztion timeLineAlertSeriailztion =
                 mTimeLineAssetSerialization as TimeLineAlertSeriailztion;

+ 1 - 0
Assets/Scripts/GameTimeLine/CustomizeTimeLogic/FxLogic/TimeLineEventinterface/ITimeLineTriggerEvent.cs

@@ -14,5 +14,6 @@ namespace UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface
         public void TimeLineTrigger(string groupName,  ILifetCycleHitPoint targetEntity,ITimelineFxLogic timelineFxLogic,TriggerData triggerData);
         public void TimelineFxLogicInit(string groupName,ITimelineFxLogic timelineFxLogic,TriggerData triggerData);
         public void TimeLineTriggerGround(string groupName,ITimelineFxLogic timelineFxLogic,TriggerData triggerData);
+     
     }
 }

+ 209 - 136
UserSettings/Layouts/default-2022.dwlt

@@ -19,7 +19,7 @@ MonoBehaviour:
     width: 2560
     height: 1349
   m_ShowMode: 4
-  m_Title: Inspector
+  m_Title: Hierarchy
   m_RootView: {fileID: 6}
   m_MinSize: {x: 875, y: 300}
   m_MaxSize: {x: 10000, y: 10000}
@@ -40,14 +40,14 @@ MonoBehaviour:
   m_Position:
     serializedVersion: 2
     x: 0
-    y: 656
-    width: 709
-    height: 643
+    y: 496
+    width: 974
+    height: 803
   m_MinSize: {x: 232, y: 271}
   m_MaxSize: {x: 10002, y: 10021}
-  m_ActualView: {fileID: 20}
+  m_ActualView: {fileID: 21}
   m_Panes:
-  - {fileID: 20}
+  - {fileID: 21}
   m_Selected: 0
   m_LastSelected: 0
 --- !u!114 &3
@@ -67,14 +67,14 @@ MonoBehaviour:
   - {fileID: 2}
   m_Position:
     serializedVersion: 2
-    x: 945
+    x: 680
     y: 0
-    width: 709
+    width: 974
     height: 1299
   m_MinSize: {x: 100, y: 100}
   m_MaxSize: {x: 8096, y: 16192}
   vertical: 1
-  controlID: 90
+  controlID: 43
   draggingID: 0
 --- !u!114 &4
 MonoBehaviour:
@@ -95,12 +95,12 @@ MonoBehaviour:
     y: 0
     width: 544
     height: 1299
-  m_MinSize: {x: 276, y: 71}
-  m_MaxSize: {x: 4001, y: 4021}
-  m_ActualView: {fileID: 19}
+  m_MinSize: {x: 275, y: 50}
+  m_MaxSize: {x: 4000, y: 4000}
+  m_ActualView: {fileID: 20}
   m_Panes:
-  - {fileID: 19}
-  - {fileID: 14}
+  - {fileID: 20}
+  - {fileID: 15}
   m_Selected: 0
   m_LastSelected: 1
 --- !u!114 &5
@@ -120,13 +120,13 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 945
+    width: 680
     height: 1299
   m_MinSize: {x: 201, y: 221}
   m_MaxSize: {x: 4001, y: 4021}
-  m_ActualView: {fileID: 21}
+  m_ActualView: {fileID: 22}
   m_Panes:
-  - {fileID: 21}
+  - {fileID: 22}
   m_Selected: 0
   m_LastSelected: 0
 --- !u!114 &6
@@ -205,7 +205,7 @@ MonoBehaviour:
   m_MinSize: {x: 400, y: 100}
   m_MaxSize: {x: 32384, y: 16192}
   vertical: 0
-  controlID: 89
+  controlID: 42
   draggingID: 0
 --- !u!114 &9
 MonoBehaviour:
@@ -249,9 +249,9 @@ MonoBehaviour:
     height: 1299
   m_MinSize: {x: 200, y: 200}
   m_MaxSize: {x: 4000, y: 4000}
-  m_ActualView: {fileID: 18}
+  m_ActualView: {fileID: 19}
   m_Panes:
-  - {fileID: 18}
+  - {fileID: 19}
   m_Selected: 0
   m_LastSelected: 0
 --- !u!114 &11
@@ -264,28 +264,144 @@ MonoBehaviour:
   m_Enabled: 1
   m_EditorHideFlags: 1
   m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: AnimatorControllerTool
+  m_Name: SceneView
   m_EditorClassIdentifier: 
   m_Children: []
   m_Position:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 709
-    height: 656
-  m_MinSize: {x: 102, y: 121}
+    width: 974
+    height: 496
+  m_MinSize: {x: 202, y: 221}
   m_MaxSize: {x: 4002, y: 4021}
-  m_ActualView: {fileID: 12}
+  m_ActualView: {fileID: 23}
   m_Panes:
-  - {fileID: 22}
+  - {fileID: 23}
+  - {fileID: 18}
   - {fileID: 17}
   - {fileID: 16}
-  - {fileID: 15}
+  - {fileID: 14}
   - {fileID: 13}
   - {fileID: 12}
-  m_Selected: 5
-  m_LastSelected: 4
+  m_Selected: 0
+  m_LastSelected: 6
 --- !u!114 &12
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f817a38900380be47942905e17e7d39b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_MinSize: {x: 100, y: 100}
+  m_MaxSize: {x: 4000, y: 4000}
+  m_TitleContent:
+    m_Text: Timeline
+    m_Image: {fileID: -9173288242387172643, guid: 0000000000000000d000000000000000, type: 0}
+    m_Tooltip: 
+  m_Pos:
+    serializedVersion: 2
+    x: 680
+    y: 73
+    width: 972
+    height: 475
+  m_SerializedDataModeController:
+    m_DataMode: 0
+    m_PreferredDataMode: 0
+    m_SupportedDataModes: 
+    isAutomatic: 1
+  m_ViewDataDictionary: {fileID: 0}
+  m_OverlayCanvas:
+    m_LastAppliedPresetName: Default
+    m_SaveData: []
+    m_OverlaysVisible: 1
+  m_Preferences:
+    editType: 0
+    timeReferenceMode: 0
+  m_LockTracker:
+    m_IsLocked: 0
+  m_SequenceHierarchy: {fileID: 0}
+  m_SequencePath:
+    m_SelectionRoot: -1840
+    m_SubElements: []
+--- !u!114 &13
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5ce82e4a867719941a5e8f1fba513d28, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_MinSize: {x: 100, y: 100}
+  m_MaxSize: {x: 4000, y: 4000}
+  m_TitleContent:
+    m_Text: Transition Library
+    m_Image: {fileID: 5779557562189929939, guid: 0000000000000000d000000000000000, type: 0}
+    m_Tooltip: 
+  m_Pos:
+    serializedVersion: 2
+    x: 680
+    y: 73
+    width: 972
+    height: 315
+  m_SerializedDataModeController:
+    m_DataMode: 0
+    m_PreferredDataMode: 0
+    m_SupportedDataModes: 
+    isAutomatic: 1
+  m_ViewDataDictionary: {fileID: 0}
+  m_OverlayCanvas:
+    m_LastAppliedPresetName: Default
+    m_SaveData: []
+    m_OverlaysVisible: 1
+  _SourceObject: {fileID: 11400000, guid: 8a18e10aaf4ea994e9e39fa8b79d5fbd, type: 2}
+  _Data:
+    _Transitions:
+    - {fileID: 5809678034847680219, guid: 8a18e10aaf4ea994e9e39fa8b79d5fbd, type: 2}
+    - {fileID: 1485322484274848399, guid: 8a18e10aaf4ea994e9e39fa8b79d5fbd, type: 2}
+    _Modifiers:
+    - _From: 0
+      _To: 0
+      _Fade: 0
+    - _From: 1
+      _To: 0
+      _Fade: 0
+    - _From: 1
+      _To: 1
+      _Fade: 0
+    - _From: 0
+      _To: 1
+      _Fade: 0
+    _Aliases: []
+    _AliasAllTransitions: 0
+  _Selection: {fileID: 0}
+  _Pages:
+  - rid: 616298694836486144
+  - rid: 616298694836486145
+  _CurrentPage: 0
+  references:
+    version: 2
+    RefIds:
+    - rid: 616298694836486144
+      type: {class: TransitionLibraryModifiersPage, ns: Animancer.Editor.TransitionLibraries, asm: Kybernetik.Animancer.Editor}
+      data:
+        _TableGUI:
+          _LabelSize: {x: 0.25, y: 0.25}
+          _ScrollPosition: {x: 0, y: 0}
+    - rid: 616298694836486145
+      type: {class: TransitionLibraryAliasesPage, ns: Animancer.Editor.TransitionLibraries, asm: Kybernetik.Animancer.Editor}
+      data:
+        _ScrollPosition: {x: 0, y: 0}
+--- !u!114 &14
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -355,50 +471,7 @@ MonoBehaviour:
   m_CurrentEditor: 0
   m_LayerEditor:
     m_SelectedLayerIndex: 0
---- !u!114 &13
-MonoBehaviour:
-  m_ObjectHideFlags: 52
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 0}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: f817a38900380be47942905e17e7d39b, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_MinSize: {x: 100, y: 100}
-  m_MaxSize: {x: 4000, y: 4000}
-  m_TitleContent:
-    m_Text: Timeline
-    m_Image: {fileID: -9173288242387172643, guid: 0000000000000000d000000000000000, type: 0}
-    m_Tooltip: 
-  m_Pos:
-    serializedVersion: 2
-    x: 945
-    y: 73
-    width: 707
-    height: 635
-  m_SerializedDataModeController:
-    m_DataMode: 0
-    m_PreferredDataMode: 0
-    m_SupportedDataModes: 
-    isAutomatic: 1
-  m_ViewDataDictionary: {fileID: 0}
-  m_OverlayCanvas:
-    m_LastAppliedPresetName: Default
-    m_SaveData: []
-    m_OverlaysVisible: 1
-  m_Preferences:
-    editType: 0
-    timeReferenceMode: 0
-  m_LockTracker:
-    m_IsLocked: 0
-  m_SequenceHierarchy: {fileID: 0}
-  m_SequencePath:
-    m_SelectionRoot: 0
-    m_SubElements: []
---- !u!114 &14
+--- !u!114 &15
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -432,7 +505,7 @@ MonoBehaviour:
     m_LastAppliedPresetName: Default
     m_SaveData: []
     m_OverlaysVisible: 1
---- !u!114 &15
+--- !u!114 &16
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -1234,7 +1307,7 @@ MonoBehaviour:
     {\n        \"m_SerializableColors\": []\n    }\n}\n\n"
   m_AssetMaybeChangedOnDisk: 0
   m_AssetMaybeDeleted: 0
---- !u!114 &16
+--- !u!114 &17
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -2060,7 +2133,7 @@ MonoBehaviour:
     {\n        \"m_SerializableColors\": []\n    }\n}\n\n"
   m_AssetMaybeChangedOnDisk: 0
   m_AssetMaybeDeleted: 0
---- !u!114 &17
+--- !u!114 &18
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -2362,7 +2435,7 @@ MonoBehaviour:
     true,\n    \"m_ClearCoat\": false\n}\n\n"
   m_AssetMaybeChangedOnDisk: 0
   m_AssetMaybeDeleted: 0
---- !u!114 &18
+--- !u!114 &19
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -2382,8 +2455,8 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 1654
-    y: 73
+    x: -30346
+    y: -31970
     width: 360
     height: 1278
   m_SerializedDataModeController:
@@ -2399,9 +2472,9 @@ MonoBehaviour:
   m_SceneHierarchy:
     m_TreeViewState:
       scrollPos: {x: 0, y: 0}
-      m_SelectedIDs: c03b0100
-      m_LastClickedID: 80832
-      m_ExpandedIDs: 1e23ffffc03b0100
+      m_SelectedIDs: 
+      m_LastClickedID: 0
+      m_ExpandedIDs: dcf8ffff78faffff
       m_RenameOverlay:
         m_UserAcceptedRename: 0
         m_Name: 
@@ -2425,7 +2498,7 @@ MonoBehaviour:
       m_IsLocked: 0
     m_CurrentSortingName: TransformSorting
   m_WindowGUID: f7da054d227971a4d8e6d4985252c187
---- !u!114 &19
+--- !u!114 &20
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -2462,7 +2535,7 @@ MonoBehaviour:
   m_ObjectsLockedBeforeSerialization: []
   m_InstanceIDsLockedBeforeSerialization: 
   m_PreviewResizer:
-    m_CachedPref: 371
+    m_CachedPref: 576
     m_ControlHash: -371814159
     m_PrefName: Preview_InspectorPreview
   m_LastInspectedObjectInstanceID: -1
@@ -2472,7 +2545,7 @@ MonoBehaviour:
   m_LockTracker:
     m_IsLocked: 0
   m_PreviewWindow: {fileID: 0}
---- !u!114 &20
+--- !u!114 &21
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -2492,10 +2565,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 945
-    y: 729
-    width: 707
-    height: 622
+    x: 680
+    y: 569
+    width: 972
+    height: 782
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -2517,7 +2590,7 @@ MonoBehaviour:
     m_SkipHidden: 0
     m_SearchArea: 1
     m_Folders:
-    - Assets/Art/Character/nanzhujiao
+    - Assets/Art/VFX/FXPrefabs
     m_Globs: []
     m_OriginalText: 
     m_ImportLogFlags: 0
@@ -2525,30 +2598,30 @@ MonoBehaviour:
   m_ViewMode: 1
   m_StartGridSize: 16
   m_LastFolders:
-  - Assets/Art/Character/nanzhujiao
+  - Assets/Art/VFX/FXPrefabs
   m_LastFoldersGridSize: 16
   m_LastProjectPath: D:\unityProject\XiuXianGame
   m_LockTracker:
     m_IsLocked: 0
   m_FolderTreeState:
-    scrollPos: {x: 0, y: 0}
-    m_SelectedIDs: 1eaf0000
-    m_LastClickedID: 44830
-    m_ExpandedIDs: 00000000a699000098ad00009ead0000a0ad0000a2ad0000a4ad0000a6ad0000a8ad0000aaad0000acad0000aead0000c2ad0000dcad00000aae0000daae000086d50000100e010094360100943901009639010000ca9a3bffffff7f
+    scrollPos: {x: 0, y: 271}
+    m_SelectedIDs: c8b30000
+    m_LastClickedID: 46024
+    m_ExpandedIDs: 0000000090af000092af000094af000096af000098af00009aaf00009caf00009eaf0000a0af0000a2af0000a4af0000b4af0000c2af0000e0af0000e8af0000ecaf0000ae5d010000ca9a3bffffff7f
     m_RenameOverlay:
       m_UserAcceptedRename: 0
-      m_Name: ArtHero
-      m_OriginalName: ArtHero
+      m_Name: 
+      m_OriginalName: 
       m_EditFieldRect:
         serializedVersion: 2
         x: 0
         y: 0
         width: 0
         height: 0
-      m_UserData: 44442
+      m_UserData: 0
       m_IsWaitingForDelay: 0
       m_IsRenaming: 0
-      m_OriginalEventType: 0
+      m_OriginalEventType: 11
       m_IsRenamingFilename: 1
       m_ClientGUIView: {fileID: 2}
     m_SearchString: 
@@ -2562,7 +2635,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_LastClickedID: 0
-    m_ExpandedIDs: 0000000098ad00009aad00009cad00009ead0000a0ad0000a2ad0000a4ad0000a6ad0000a8ad0000aaad0000acad0000aead0000
+    m_ExpandedIDs: 0000000090af000092af000094af000096af000098af00009aaf00009caf00009eaf0000a0af0000a2af0000a4af0000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -2590,21 +2663,21 @@ MonoBehaviour:
     m_SelectedInstanceIDs: 
     m_LastClickedInstanceID: 0
     m_HadKeyboardFocusLastEvent: 1
-    m_ExpandedInstanceIDs: bc7400008ebd000008bd0000300b0100b0ae00005cdf0000c8480100f630010094b1000014b3000090b4000088b4000042b40000aab40000fcb3000044b30000a2b400007cb400008cb4000048a501003eb2000022b2000070de000056dc000020af0000
+    m_ExpandedInstanceIDs: bc7400008ebd000008bd0000300b0100b0ae00005cdf0000c8480100f630010094b1000014b3000090b4000088b4000042b40000aab40000fcb3000044b30000a2b400007cb400008cb4000048a501003eb2000022b2000070de000056dc000020af00001cad00001aad0000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
-      m_Name: 
-      m_OriginalName: 
+      m_Name: Nanzhu_timeline_TD
+      m_OriginalName: Nanzhu_timeline_TD
       m_EditFieldRect:
         serializedVersion: 2
         x: 0
         y: 0
         width: 0
         height: 0
-      m_UserData: 0
+      m_UserData: 57960
       m_IsWaitingForDelay: 0
       m_IsRenaming: 0
-      m_OriginalEventType: 11
+      m_OriginalEventType: 0
       m_IsRenamingFilename: 1
       m_ClientGUIView: {fileID: 2}
     m_CreateAssetUtility:
@@ -2617,8 +2690,8 @@ MonoBehaviour:
     m_ScrollPosition: {x: 0, y: 0}
     m_GridSize: 16
   m_SkipHiddenPackages: 0
-  m_DirectoriesAreaWidth: 146
---- !u!114 &21
+  m_DirectoriesAreaWidth: 310
+--- !u!114 &22
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -2638,9 +2711,9 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 0
-    y: 73
-    width: 944
+    x: -32000
+    y: -31970
+    width: 679
     height: 1278
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -2694,29 +2767,29 @@ MonoBehaviour:
       serializedVersion: 2
       x: 0
       y: 21
-      width: 944
+      width: 679
       height: 1257
     m_Scale: {x: 0.7740148, y: 0.7740148}
-    m_Translation: {x: 472, y: 628.5}
+    m_Translation: {x: 339.5, y: 628.5}
     m_MarginLeft: 0
     m_MarginRight: 0
     m_MarginTop: 0
     m_MarginBottom: 0
     m_LastShownAreaInsideMargins:
       serializedVersion: 2
-      x: -609.8075
+      x: -438.62213
       y: -812
-      width: 1219.615
+      width: 877.24426
       height: 1624
     m_MinimalGUI: 1
   m_defaultScale: 0.7740148
-  m_LastWindowPixelSize: {x: 944, y: 1278}
+  m_LastWindowPixelSize: {x: 679, y: 1278}
   m_ClearInEditMode: 1
   m_NoCameraWarning: 1
   m_LowResolutionForAspectRatios: 00000000000000000000
   m_XRRenderMode: 0
   m_RenderTexture: {fileID: 0}
---- !u!114 &22
+--- !u!114 &23
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -2736,10 +2809,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 945
-    y: 73
-    width: 707
-    height: 635
+    x: -31320
+    y: -31970
+    width: 972
+    height: 475
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -2794,7 +2867,7 @@ MonoBehaviour:
       collapsed: 0
       displayed: 0
       snapOffset: {x: 0, y: 0}
-      snapOffsetDelta: {x: 0, y: 25}
+      snapOffsetDelta: {x: 0, y: 0}
       snapCorner: 1
       id: unity-search-toolbar
       index: 1
@@ -2846,7 +2919,7 @@ MonoBehaviour:
       collapsed: 0
       displayed: 0
       snapOffset: {x: 0, y: 0}
-      snapOffsetDelta: {x: 0, y: 25}
+      snapOffsetDelta: {x: 0, y: 0}
       snapCorner: 0
       id: Scene View/Light Settings
       index: 2
@@ -2872,7 +2945,7 @@ MonoBehaviour:
       collapsed: 0
       displayed: 0
       snapOffset: {x: 0, y: 0}
-      snapOffsetDelta: {x: 0, y: 25}
+      snapOffsetDelta: {x: 0, y: 0}
       snapCorner: 0
       id: Scene View/Cloth Constraints
       index: 3
@@ -2885,7 +2958,7 @@ MonoBehaviour:
       collapsed: 0
       displayed: 0
       snapOffset: {x: 0, y: 0}
-      snapOffsetDelta: {x: 0, y: 25}
+      snapOffsetDelta: {x: 0, y: 0}
       snapCorner: 0
       id: Scene View/Cloth Collisions
       index: 4
@@ -2937,7 +3010,7 @@ MonoBehaviour:
       collapsed: 0
       displayed: 0
       snapOffset: {x: 0, y: 0}
-      snapOffsetDelta: {x: 0, y: 25}
+      snapOffsetDelta: {x: 0, y: 0}
       snapCorner: 0
       id: Scene View/Occlusion Culling
       index: 5
@@ -2950,7 +3023,7 @@ MonoBehaviour:
       collapsed: 0
       displayed: 0
       snapOffset: {x: 0, y: 0}
-      snapOffsetDelta: {x: 0, y: 25}
+      snapOffsetDelta: {x: 0, y: 0}
       snapCorner: 0
       id: Scene View/Physics Debugger
       index: 6
@@ -2963,7 +3036,7 @@ MonoBehaviour:
       collapsed: 0
       displayed: 0
       snapOffset: {x: 0, y: 0}
-      snapOffsetDelta: {x: 0, y: 25}
+      snapOffsetDelta: {x: 0, y: 0}
       snapCorner: 0
       id: Scene View/Scene Visibility
       index: 7
@@ -3103,17 +3176,17 @@ MonoBehaviour:
     m_OverlaysVisible: 1
   m_WindowGUID: d9e8ac729943301469eff8c7180f0e02
   m_Gizmos: 1
-  m_OverrideSceneCullingMask: 0
-  m_SceneIsLit: 0
+  m_OverrideSceneCullingMask: 6917529027641081856
+  m_SceneIsLit: 1
   m_SceneLighting: 1
   m_2DMode: 0
   m_isRotationLocked: 0
   m_PlayAudio: 0
   m_AudioPlay: 0
   m_Position:
-    m_Target: {x: 0.18988268, y: 6.9786572, z: -0.19547078}
+    m_Target: {x: -1.4418998, y: 8.068302, z: 4.0124907}
     speed: 2
-    m_Value: {x: 141.06546, y: 5, z: 324.7752}
+    m_Value: {x: -1.4418998, y: 8.068302, z: 4.0124907}
   m_RenderMode: 0
   m_CameraMode:
     drawMode: 0
@@ -3124,7 +3197,7 @@ MonoBehaviour:
   m_SceneViewState:
     m_AlwaysRefresh: 1
     showFog: 1
-    showSkybox: 0
+    showSkybox: 1
     showFlares: 1
     showImageEffects: 1
     showParticleSystems: 1
@@ -3159,13 +3232,13 @@ MonoBehaviour:
     m_GridAxis: 1
     m_gridOpacity: 0.5
   m_Rotation:
-    m_Target: {x: 0.2072155, y: 0.16522801, z: -0.035507984, w: 0.9636152}
+    m_Target: {x: 0.33301866, y: -0.56865865, z: 0.2696374, w: 0.70219404}
     speed: 2
-    m_Value: {x: -0.38900453, y: 0.07091076, z: -0.030064663, w: -0.91801053}
+    m_Value: {x: 0.33300954, y: -0.56864303, z: 0.26963, w: 0.7021748}
   m_Size:
-    m_Target: 0.9073434
+    m_Target: 3.8479714
     speed: 2
-    m_Value: 0.8660254
+    m_Value: 3.8479714
   m_Ortho:
     m_Target: 0
     speed: 2

+ 1 - 0
XiuXianGame.sln.DotSettings.user

@@ -1,6 +1,7 @@
 <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACollider_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F2193ba18cb0546b2832917f7674384cf20000_003F3a_003Fa0da6a1e_003FCollider_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACompareFunction_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F84_003Ff4158f3a_003FCompareFunction_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
+	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AObject_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F78_003F5e834fc5_003FObject_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003F3b_003F1a234af4_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AVector3_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F2008d2d6093f4149aaeafd5f414aa7a517c400_003F01_003F0ef8dd4a_003FVector3_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AVector3_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003Fe4_003F8efb9845_003FVector3_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>