优化技能CD配置

This commit is contained in:
2026-07-05 21:53:06 +08:00
parent c7279fd1a7
commit 33282c3d83
5 changed files with 92 additions and 30 deletions
+59 -14
View File
@@ -1,15 +1,16 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
%TAG !u! tag:yousandi.cn,2023:
--- !u!1 &224663420570997075
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
serializedVersion: 7
m_Component:
- component: {fileID: 8478433181531572028}
m_Layer: 0
m_HasEditorInfo: 1
m_Name: Attack Pos
m_TagString: Untagged
m_Icon: {fileID: 0}
@@ -38,11 +39,12 @@ GameObject:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
serializedVersion: 7
m_Component:
- component: {fileID: 2721749760193771471}
- component: {fileID: 2576336768338317798}
m_Layer: 0
m_HasEditorInfo: 1
m_Name: Shadow
m_TagString: Untagged
m_Icon: {fileID: 0}
@@ -81,9 +83,9 @@ SpriteRenderer:
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_virtualGeometry: 0
m_virtualGeometryShadow: 0
m_ShadingRate: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
@@ -125,11 +127,12 @@ GameObject:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
serializedVersion: 7
m_Component:
- component: {fileID: 5868846878284739933}
- component: {fileID: 4179740974551494285}
m_Layer: 0
m_HasEditorInfo: 1
m_Name: GFX
m_TagString: Untagged
m_Icon: {fileID: 0}
@@ -169,9 +172,9 @@ SpriteRenderer:
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_virtualGeometry: 0
m_virtualGeometryShadow: 0
m_ShadingRate: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
@@ -213,7 +216,7 @@ GameObject:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
serializedVersion: 7
m_Component:
- component: {fileID: 3732617863691343031}
- component: {fileID: 6353531435783438008}
@@ -223,7 +226,10 @@ GameObject:
- component: {fileID: 6993421519398320623}
- component: {fileID: 4071397948156435190}
- component: {fileID: 6548415084739001889}
- component: {fileID: 6139836475852784366}
- component: {fileID: 9169632716920481423}
m_Layer: 0
m_HasEditorInfo: 1
m_Name: Player
m_TagString: Player
m_Icon: {fileID: 0}
@@ -249,7 +255,7 @@ Transform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &6353531435783438008
Animator:
serializedVersion: 7
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
@@ -260,10 +266,11 @@ Animator:
m_Controller: {fileID: 9100000, guid: 22545c7435b1b5b498af21fd0674b6f8, type: 2}
m_CullingMode: 0
m_UpdateMode: 0
m_UpdateFrequencyMode: 0
m_UpdateFrequency: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_AnimatePhysics: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
@@ -333,7 +340,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
moveSpeed: 5
rollForce: 14
rollCooldown: 1
rollCooldown: 3
rollKeyCode: 32
attackType: 1
--- !u!114 &6993421519398320623
@@ -351,6 +358,8 @@ MonoBehaviour:
maxHealth: 5
deathEffect: {fileID: 4806121257990350900, guid: f19c76183b5e22e44a73655dc18f1a92, type: 3}
isPlayer: 1
dissolveMaterial: {fileID: 0}
fadeDuration: 2
--- !u!114 &4071397948156435190
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -392,6 +401,42 @@ MonoBehaviour:
groundLayer:
serializedVersion: 2
m_Bits: 256
--- !u!114 &6139836475852784366
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7107154609808163723}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ceb802b31b18ed346a39e2fac4a189ba, type: 3}
m_Name:
m_EditorClassIdentifier:
maxLanterns: 5
lanternKey: 117
cooldown: 5
lanternPrefab: {fileID: 0}
--- !u!114 &9169632716920481423
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7107154609808163723}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0a44142f1063e1d4dbab7b851d31d258, type: 3}
m_Name:
m_EditorClassIdentifier:
echoKey: 101
expandSpeed: 15
maxRadius: 30
ringWidth: 1.5
sustainTime: 4
fadeTime: 1.5
outlineColor: {r: 1, g: 1, b: 1, a: 1}
cooldown: 3
--- !u!1001 &1156712605891213377
PrefabInstance:
m_ObjectHideFlags: 0
@@ -253,7 +253,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
moveSpeed: 5
rollForce: 14
rollCooldown: 1
rollCooldown: 3
rollKeyCode: 32
attackType: 0
--- !u!114 &5092748250665312051
@@ -328,7 +328,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
maxLanterns: 5
lanternKey: 117
cooldown: 3
cooldown: 5
lanternPrefab: {fileID: 6632183076166779216, guid: 0f3bb1de506ca954eb6fa1ddfc32d9bb, type: 3}
--- !u!114 &230515964846317157
MonoBehaviour:
@@ -349,7 +349,7 @@ MonoBehaviour:
sustainTime: 4
fadeTime: 1.5
outlineColor: {r: 1, g: 1, b: 1, a: 1}
cooldown: 2
cooldown: 3
--- !u!114 &4208162987965796937
MonoBehaviour:
m_ObjectHideFlags: 0
+26 -9
View File
@@ -174,7 +174,7 @@ namespace GameFramework
float sprintCD = cdField != null ? (float)cdField.GetValue(_playerController) : 1f;
float lastRoll = lastField != null ? (float)lastField.GetValue(_playerController) : -999f;
float remaining = Mathf.Max(0f, (lastRoll + sprintCD) - Time.time);
UpdateSkillCD(skillSprintCD, remaining, sprintCD);
UpdateSkillCD(skillSprintCD, skillSprintIcon, remaining, sprintCD);
}
// 摇铃 CD(从 EchoSystem 读取 cooldown + _lastEchoTime
@@ -187,7 +187,7 @@ namespace GameFramework
float bellCD = cdField != null ? (float)cdField.GetValue(_echoSystem) : 2f;
float lastTime = lastField != null ? (float)lastField.GetValue(_echoSystem) : -999f;
float remaining = Mathf.Max(0f, (lastTime + bellCD) - Time.time);
UpdateSkillCD(skillBellCD, remaining, bellCD);
UpdateSkillCD(skillBellCD, skillBellIcon, remaining, bellCD);
}
// 灵灯 CD(从 SpiritLanternSystem 读取)
@@ -197,27 +197,44 @@ namespace GameFramework
var cdField = typeof(SpiritLanternSystem).GetField("cooldown",
System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
float maxCD = cdField != null ? (float)cdField.GetValue(_lanternSystem) : 3f;
UpdateSkillCD(skillLanternCD, remaining, maxCD);
UpdateSkillCD(skillLanternCD, skillLanternIcon, remaining, maxCD);
}
}
/// <summary>
/// 更新单个技能CD遮罩。
/// fillAmount = 1 表示CD中(完全遮挡),0 表示就绪(无遮挡)。
/// CD 时图标变灰,就绪时恢复。
/// </summary>
private void UpdateSkillCD(Image cdImage, float remaining, float total)
{
UpdateSkillCD(cdImage, null, remaining, total);
}
/// <summary>
/// 更新单个技能CD遮罩 + 图标去色。
/// </summary>
private void UpdateSkillCD(Image cdImage, Image iconImage, float remaining, float total)
{
if (cdImage == null) return;
if (total <= 0f || remaining <= 0f)
{
cdImage.fillAmount = 0f;
cdImage.gameObject.SetActive(false);
}
else
bool onCooldown = total > 0f && remaining > 0f;
if (onCooldown)
{
cdImage.gameObject.SetActive(true);
cdImage.fillAmount = remaining / total;
// CD 中图标变灰
if (iconImage != null)
iconImage.color = new Color(0.4f, 0.4f, 0.4f, 1f);
}
else
{
cdImage.fillAmount = 0f;
cdImage.gameObject.SetActive(false);
// CD 就绪图标恢复原色
if (iconImage != null)
iconImage.color = Color.white;
}
}
@@ -59,10 +59,10 @@ Material:
- _DecalMeshDepthBias: 0
- _DecalMeshViewBias: 0
- _DrawOrder: 0
- _FadeAlpha: 1
- _FadeAlpha: 0.9602355
- _RippleAmplitude: 0.0412
- _RippleFrequency: 10.5
- _RippleIntensity: -0
- _RippleIntensity: 0.6882374
- _RippleSpeed: 3
- _Shininess: 0.2
- _Stencil: 0
+2 -2
View File
@@ -30,10 +30,10 @@ EditorUserSettings:
value: 5a5757560101590a5d0c0e24427b5d44434e4c7a7b7a23677f2b4565b7b5353a
flags: 0
RecentlyUsedSceneGuid-8:
value: 5a55515156575a0b0f56592346260f444f16197c7e7f24697d2a4a32b1b0353e
value: 0209025f575750595c57092149765d444e4e49727e7c7068757b1c65b6e36c3b
flags: 0
RecentlyUsedSceneGuid-9:
value: 0209025f575750595c57092149765d444e4e49727e7c7068757b1c65b6e36c3b
value: 5a55515156575a0b0f56592346260f444f16197c7e7f24697d2a4a32b1b0353e
flags: 0
UnityEditor.ShaderGraph.Blackboard:
value: 18135939215a0a5004000b0e15254b524c030a3f2964643d120d1230e9e93a3fd6e826abbd2e2d293c4ead313b08042de6030a0afa240c0d020be94c4ba75e435d8715fa32c70d15d11612dacc11fee5d3c5d1fe9ab1bf968e93e2ffcbc3e7e2f0b3ffe0e8b0be9af8ffaeffff8e85dd8390e3949c8899daa7