DESKTOP-FB72PO8\Administrator 1 månad sedan
förälder
incheckning
f58ea7c958

+ 152 - 2
Assets/Scenes/testCombat.scene

@@ -124,6 +124,39 @@ NavMeshSettings:
     debug:
       m_Flags: 0
   m_NavMeshData: {fileID: 0}
+--- !u!1 &21371307
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 21371308}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: GameObject
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &21371308
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 21371307}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 1515802678}
+  m_Father: {fileID: 1902930422}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!4 &24964071 stripped
 Transform:
   m_CorrespondingSourceObject: {fileID: 3904968013911866960, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
@@ -1222,6 +1255,38 @@ MonoBehaviour:
   m_Spacing: {x: 0, y: -50.3}
   m_Constraint: 0
   m_ConstraintCount: 2
+--- !u!1 &612158946
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 612158947}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: GameObject (2)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &612158947
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 612158946}
+  serializedVersion: 2
+  m_LocalRotation: {x: -0, y: -1, z: -0, w: 0}
+  m_LocalPosition: {x: -2.23, y: 0, z: 2.5900002}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1469800233}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &753442135
 GameObject:
   m_ObjectHideFlags: 0
@@ -1954,6 +2019,39 @@ MonoBehaviour:
   m_OnValueChanged:
     m_PersistentCalls:
       m_Calls: []
+--- !u!1 &1469800232
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 1469800233}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: GameObject (3)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1469800233
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1469800232}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
+  m_LocalPosition: {x: 0, y: 0, z: 9.89}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 612158947}
+  m_Father: {fileID: 1902930422}
+  m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
 --- !u!1 &1491951595
 GameObject:
   m_ObjectHideFlags: 0
@@ -2034,6 +2132,38 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1491951595}
   m_CullTransparentMesh: 1
+--- !u!1 &1515802677
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 1515802678}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: GameObject (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1515802678
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1515802677}
+  serializedVersion: 2
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -1.4949999, y: 1.615, z: 1}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 21371308}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1001 &1663534286
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -2315,6 +2445,7 @@ GameObject:
   serializedVersion: 7
   m_Component:
   - component: {fileID: 1902930422}
+  - component: {fileID: 1902930423}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: GameObject
@@ -2332,12 +2463,31 @@ Transform:
   m_GameObject: {fileID: 1902930421}
   serializedVersion: 2
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 100}
+  m_LocalPosition: {x: -3.442, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
-  m_Children: []
+  m_Children:
+  - {fileID: 21371308}
+  - {fileID: 1469800233}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1902930423
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1902930421}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8b0bd7b63396499eacce1f4c28a706ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Transforms:
+  - {fileID: 21371308}
+  - {fileID: 1515802678}
+  - {fileID: 612158947}
+  - {fileID: 1469800233}
 --- !u!1001 &2101400848
 PrefabInstance:
   m_ObjectHideFlags: 0

+ 48 - 87
Assets/Scripts/Core/Utility/BesselPath.cs

@@ -1,4 +1,5 @@
 using System.Collections.Generic;
+using Fort23.Core;
 using UnityEngine;
 
 namespace Core.Utility
@@ -6,115 +7,75 @@ namespace Core.Utility
     /// <summary>
     /// 贝塞尔曲线
     /// </summary>
-    public class BesselPath
+    public class BesselPath :CObject
     {
-        public List<Vector3> PosList;
+        public BetterList<Vector3> controlPoints = new BetterList<Vector3>();
 
-        private List<float> _time = new List<float>();
-
-        public void SetPos(List<Vector3> PosList)
+        public Vector3 CalculatePoint(float t)
         {
-            this.PosList = PosList;
-
-            List<float> allbs = new List<float>();
-            float allb = 0;
-            for (int i = 0; i < PosList.Count; i += 3)
+            if (controlPoints.Count < 2)
             {
-                if (i + 3 > PosList.Count)
-                {
-                    break;
-                }
-
-                Vector3 p1 = PosList[i];
-                Vector3 p2 = PosList[i + 1];
-                Vector3 p3 = PosList[i + 2];
-                float b = GetPathCount(p1, p2, p3, 100);
-                allb += b;
-                allbs.Add(b);
+                Debug.LogError("需要至少2个控制点来计算贝塞尔曲线");
+                return Vector3.zero;
             }
-            _time.Clear();
-            float allt = 0;
-            for (int i = 0; i < allbs.Count; i++)
+
+            t = Mathf.Clamp01(t);
+            int n = controlPoints.Count - 1; // 阶数
+
+            Vector3 point = Vector3.zero;
+            for (int i = 0; i <= n; i++)
             {
-                float currt = allbs[i] / allb;
-                allt+=currt;
-                _time.Add(allt);
-              
+                // 计算伯恩斯坦多项式
+                float bernstein = Bernstein(n, i, t);
+                point += bernstein * controlPoints[i];
             }
+            return point;
         }
 
-        private float GetPathCount(Vector3 p1, Vector3 p2, Vector3 p3, int count)
+        // 计算伯恩斯坦多项式
+        private float Bernstein(int n, int i, float t)
         {
-            float step = 1f / count;
-            Vector3 startPos = p1;
-            float d = 0;
-            for (int i = 1; i < count; i++)
-            {
-                float t = i * count;
-                Vector3 a = Vector3.Lerp(p1, p2, t);
-                Vector3 b = Vector3.Lerp(a, p3, t);
-                d += Vector3.Distance(startPos, b);
-                startPos = b;
-            }
-
+            return BinomialCoefficient(n, i) * Mathf.Pow(1 - t, n - i) * Mathf.Pow(t, i);
+        }
 
-            return d;
+        // 计算二项式系数 C(n,i)
+        private float BinomialCoefficient(int n, int i)
+        {
+            return Factorial(n) / (Factorial(i) * Factorial(n - i));
         }
 
-        public float GetPathCount(int count)
+        // 计算阶乘
+        private float Factorial(int n)
         {
-            float step = 1f / count;
-            Vector3 startPos = GetValue(0);
-            float d = 0;
-            for (int i = 1; i < count; i++)
+            if (n <= 1) return 1;
+            float result = 1;
+            for (int i = 2; i <= n; i++)
             {
-                Vector3 currPos = GetValue(step * i);
-                d += Vector3.Distance(startPos, currPos);
+                result *= i;
             }
-
-            return d;
+            return result;
         }
 
-        public Vector3 GetValue(float t)
+        // 获取曲线的切线(数值近似)
+        public Vector3 GetTangent(float t)
         {
-            int startIndex = 0;
-            float allt = 0;
-            float startt = 0;
-            
-            for (int i = 0; i < _time.Count; i++)
-            {
-                if (t < _time[i])
-                {
-                    startIndex = i * 3;
-                    allt = _time[i];
-                    if (i > 0)
-                    {
-                        allt= _time[i] - _time[i - 1];
-                        startt= _time[i - 1];
-                    }
+            const float delta = 0.001f;
+            t = Mathf.Clamp01(t);
 
-                    break;
-                }
-            }
-            
-            float t1 = (t - startt) / allt;
-            if (t1 > 1)
-            {
-                t1 = 1;
-            }
-            if (t1 < 0)
-            {
-                t1 = 0;
-            }
-            
+            // 使用数值微分近似切线
+            Vector3 p1 = CalculatePoint(t - delta);
+            Vector3 p2 = CalculatePoint(t + delta);
+            return (p2 - p1).normalized;
+        }
+
+        public override void ActiveObj()
+        {
             
-            Vector3 a = PosList[startIndex];
-            Vector3 p2 = PosList[startIndex + 1];
-            Vector3 p3 = PosList[startIndex + 2];
-            Vector3 b = Vector3.Lerp(a, p2, t1);
-            Vector3 c = Vector3.Lerp(b, p3, t1);
+        }
 
-            return c;
+        public override void DormancyObj()
+        {
+            controlPoints.Clear();
         }
     }
 }

+ 23 - 7
Assets/Scripts/Core/Utility/BesselPathMono.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using CombatLibrary.CombatLibrary.CombatCore.Utility;
 using UnityEngine;
 
 namespace Core.Utility
@@ -9,6 +10,8 @@ namespace Core.Utility
         public Transform[] Transforms;
         public BesselPath BesselPath;
 
+        public ACurve ACurve;
+
         private void OnDrawGizmos()
         {
             if (BesselPath == null)
@@ -21,19 +24,32 @@ namespace Core.Utility
                 return;
             }
 
-            List<Vector3> pos = new List<Vector3>();
+            BetterList<Vector3> pos = new BetterList<Vector3>();
             for (int i = 0; i < Transforms.Length; i++)
             {
                 pos.Add(Transforms[i].position);
             }
 
-            BesselPath.SetPos(pos);
-            float bl = 1.0f / 300;
-            for (float i = 0; i < 300 - 1; i++)
+            BesselPath.controlPoints = (pos);
+
+            Gizmos.color = Color.blue;
+
+            // 绘制控制点
+            for (int i = 0; i < pos.Count; i++)
+            {
+                Gizmos.DrawSphere(pos[i], 0.1f);
+            }
+
+            // 绘制曲线
+            Vector3 previousPoint = BesselPath.CalculatePoint(0);
+            int segments = 50;
+
+            for (int i = 1; i <= segments; i++)
             {
-                Vector3 pos1 = BesselPath.GetValue(i * bl);
-                Vector3 pos2 = BesselPath.GetValue((i + 1) * bl);
-                Debug.DrawLine(pos1, pos2, Color.red);
+                float t = i / (float)segments;
+                Vector3 currentPoint = BesselPath.CalculatePoint(t);
+                Gizmos.DrawLine(previousPoint, currentPoint);
+                previousPoint = currentPoint;
             }
         }
     }

+ 80 - 0
Assets/Scripts/Core/Utility/QuinticBezierCurve.cs

@@ -0,0 +1,80 @@
+using UnityEngine;
+
+namespace Core.Utility
+{
+    public class QuinticBezierCurve: MonoBehaviour
+    {
+        // 5个控制点
+        public Vector3 p0; // 起点
+        public Vector3 p1; // 控制点1
+        public Vector3 p2; // 控制点2
+        public Vector3 p3; // 控制点3
+        public Vector3 p4; // 终点
+
+        // 计算四阶贝塞尔曲线上的点
+        // t: 参数,范围 [0, 1]
+        public Vector3 CalculatePoint(float t)
+        {
+            // 确保 t 在 0-1 范围内
+            t = Mathf.Clamp01(t);
+
+            // 四阶贝塞尔曲线公式
+            // B(t) = (1-t)^4 * P0 + 4(1-t)^3 * t * P1 + 6(1-t)^2 * t^2 * P2 + 4(1-t) * t^3 * P3 + t^4 * P4
+            float u = 1 - t;
+            float t2 = t * t;
+            float t3 = t2 * t;
+            float t4 = t3 * t;
+            float u2 = u * u;
+            float u3 = u2 * u;
+            float u4 = u3 * u;
+
+            Vector3 point = (u4 * p0) +
+                            (4 * u3 * t * p1) +
+                            (6 * u2 * t2 * p2) +
+                            (4 * u * t3 * p3) +
+                            (t4 * p4);
+
+            return point;
+        }
+
+        // 示例:在场景中绘制曲线
+        void OnDrawGizmos()
+        {
+            Gizmos.color = Color.yellow;
+        
+            // 绘制控制点
+            Gizmos.DrawSphere(p0, 0.1f);
+            Gizmos.DrawSphere(p1, 0.1f);
+            Gizmos.DrawSphere(p2, 0.1f);
+            Gizmos.DrawSphere(p3, 0.1f);
+            Gizmos.DrawSphere(p4, 0.1f);
+
+            // 绘制曲线
+            Vector3 previousPoint = p0;
+            int segments = 50;
+        
+            for (int i = 1; i <= segments; i++)
+            {
+                float t = i / (float)segments;
+                Vector3 currentPoint = CalculatePoint(t);
+                Gizmos.DrawLine(previousPoint, currentPoint);
+                previousPoint = currentPoint;
+            }
+        }
+
+        // 获取曲线的切线(导数)
+        public Vector3 GetTangent(float t)
+        {
+            t = Mathf.Clamp01(t);
+            float u = 1 - t;
+        
+            // 四阶贝塞尔曲线的导数
+            Vector3 tangent = 4 * (u * u * u * (p1 - p0) +
+                                   3 * u * u * t * (p2 - p1) +
+                                   3 * u * t * t * (p3 - p2) +
+                                   t * t * t * (p4 - p3));
+        
+            return tangent.normalized;
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/Core/Utility/QuinticBezierCurve.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 6bdd239556e64151a6e1cfdbe8762978
+timeCreated: 1742462887

+ 19 - 0
Assets/Scripts/GameLogic/Combat/Hero/State/MagicWeaponAttState.cs

@@ -1,4 +1,7 @@
 using Common.Utility.CombatEvent;
+using Core.Utility;
+using Fort23.Core;
+using UnityEngine;
 
 namespace GameLogic.Combat.Hero.State
 {
@@ -6,6 +9,8 @@ namespace GameLogic.Combat.Hero.State
     {
         private CombatMagicWeaponEntity myCombatMagicWeaponEntity;
 
+        private BesselPath _besselPath;
+
         public MagicWeaponAttState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
         {
             myCombatMagicWeaponEntity = combatHeroEntity as CombatMagicWeaponEntity;
@@ -16,6 +21,10 @@ namespace GameLogic.Combat.Hero.State
         /// </summary>
         protected override void ProEnter()
         {
+            _besselPath = CObjectPool.Instance.Fetch<BesselPath>();
+            myCombatMagicWeaponEntity.GameObject.transform.eulerAngles = Vector3.zero;
+            Vector3 p1 = myCombatMagicWeaponEntity.GameObject.transform.TransformVector(new Vector3(-1.5f, 1.7f, 1));
+            
             HeroDieEventData heroDieEventData = HeroDieEventData.Create();
             heroDieEventData.combatHeroEntity = myCombatMagicWeaponEntity;
             CombatEventManager.Instance.Dispatch(CombatEventType.MagicWeaponDie,
@@ -23,5 +32,15 @@ namespace GameLogic.Combat.Hero.State
 
             myCombatMagicWeaponEntity.CombatAIBasic.ChangeState(CombatHeroStateType.XiuMian);
         }
+
+        private void SetTargetPos()
+        {
+            
+        }
+
+        protected override void ProExit()
+        {
+            CObjectPool.Instance.Recycle(_besselPath);
+        }
     }
 }

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 4970dfc3802244918a28e90fcc6e558d
+timeCreated: 1742463967

+ 10 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/MagicSkillBasic.cs

@@ -0,0 +1,10 @@
+namespace GameLogic.Combat.Skill.MagicSkill
+{
+    public class MagicSkillBasic : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/MagicSkillBasic.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 9149688fec964a428ffbe7be938b2841
+timeCreated: 1742464020

+ 9 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S910001.cs

@@ -0,0 +1,9 @@
+namespace GameLogic.Combat.Skill.MagicSkill
+{
+    /// <summary>
+    /// 法宝技能
+    /// </summary>
+    public class S910001 : MagicSkillBasic
+    {
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/S910001.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 640666185fe543438029faec574c5fe5
+timeCreated: 1742463976

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/SkillShow.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: efc56333a63b4370a7ef95a9adb723f7
+timeCreated: 1742464818

+ 14 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/SkillShow/MagicAttShowBasic.cs

@@ -0,0 +1,14 @@
+namespace GameLogic.Combat.Skill.MagicSkill
+{
+    public class MagicAttShowBasic
+    {
+        public void Update(float t)
+        {
+            ProUpdate(t);
+        }
+
+        protected virtual void ProUpdate(float t)
+        {
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/SkillShow/MagicAttShowBasic.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 0c2c48c4d2fc4061b0c39fd1260c622f
+timeCreated: 1742464806

+ 6 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/SkillShow/StraightLineShow.cs

@@ -0,0 +1,6 @@
+namespace GameLogic.Combat.Skill.MagicSkill
+{
+    public class StraightLineShow : MagicAttShowBasic
+    {
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/SkillShow/StraightLineShow.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 0999c153b7774c509283e19896b60a0c
+timeCreated: 1742465393

+ 1 - 0
XiuXianGame.sln.DotSettings.user

@@ -3,6 +3,7 @@
 	<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_003ATransform_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F66_003F966ef437_003FTransform_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>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AVector3_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F2008d2d6093f4149aaeafd5f414aa7a517c400_003Fd3_003F23d17a83_003FVector3_002Ecs/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>