From 14635e6930fe38c07ff794848b05cf7483451215 Mon Sep 17 00:00:00 2001 From: cd <-> Date: Fri, 9 Jun 2023 23:24:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=97=E5=87=BB=E6=96=B9=E5=90=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Generated/ArticyEditorSettings.asset | 2 +- .../Timeline/TimelineClip/ClipAttack.cs | 28 ++++++++++++++++++- .../Game/Scripts/Timeline/TimelineManager.cs | 2 +- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/client/Assets/ArticyImporter/Content/Generated/ArticyEditorSettings.asset b/client/Assets/ArticyImporter/Content/Generated/ArticyEditorSettings.asset index b973e2b..ad79e3d 100644 --- a/client/Assets/ArticyImporter/Content/Generated/ArticyEditorSettings.asset +++ b/client/Assets/ArticyImporter/Content/Generated/ArticyEditorSettings.asset @@ -21,6 +21,6 @@ MonoBehaviour: mLastUsedPackagesHash: 1177269412 mLastUsedPackagesCount: 1 mLastBuildCode: 1 - mLastEditorStartupTimeTicks: 638214577817722807 + mLastEditorStartupTimeTicks: 638214577828442584 mNewVersionAvailable: 1 mLastAttachedFlowPlayerValue: 0 diff --git a/client/Assets/Game/Scripts/Timeline/TimelineClip/ClipAttack.cs b/client/Assets/Game/Scripts/Timeline/TimelineClip/ClipAttack.cs index be4b9af..68f7db4 100644 --- a/client/Assets/Game/Scripts/Timeline/TimelineClip/ClipAttack.cs +++ b/client/Assets/Game/Scripts/Timeline/TimelineClip/ClipAttack.cs @@ -69,7 +69,7 @@ namespace Game StunkRate = 1, OwnerEntity = Owner.ID(), HitEntity = targetID, - HitDir = castDir, + HitDir = GetHitDir(param.hitDirType, target, castPos, castDir), SkillId = skill.SkillId.Value, IsBreak = true, hitIndex = i, @@ -90,6 +90,32 @@ namespace Game } } + private Vector3 GetHitDir(EHitDirType hitDirType, GameEntity target, Vector3 castPos, Vector3 castDir) + { + var targetPos = target.Pos(); + var targetDir = targetPos - castPos; + switch (hitDirType) + { + case EHitDirType.Center: + //从中心到外围 + return targetDir; + case EHitDirType.Backward: + //从前往后 + return -castDir; + case EHitDirType.Forward: + //从后往前 + return castDir; + case EHitDirType.Clockwise: + //顺时针 + return Vector3.Cross(targetDir, Vector3.down * (Owner.move.IsRight ? 1 : -1)); + case EHitDirType.CounterClockwise: + //逆时针 + return Vector3.Cross(targetDir, Vector3.up * (Owner.move.IsRight ? 1 : -1)); + } + + return targetDir; + } + private float GetRank(EHitDirType hitDirType, GameEntity target, Vector3 castPos, Vector3 castDir) { //小在前 diff --git a/client/Assets/Game/Scripts/Timeline/TimelineManager.cs b/client/Assets/Game/Scripts/Timeline/TimelineManager.cs index 2fa481b..ff008e6 100644 --- a/client/Assets/Game/Scripts/Timeline/TimelineManager.cs +++ b/client/Assets/Game/Scripts/Timeline/TimelineManager.cs @@ -39,7 +39,7 @@ namespace Game } //这里需要按时间排序 同类型clip时序问题 - clips.Sort((a, b) => (int)((a.Clip.EndTime - b.Clip.EndTime) * 1000)); + clips.Sort((l, r) => l.Clip.EndTime.CompareTo(r.Clip.EndTime)); entityTimeline.Clips.AddRange(clips); }