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