#30 대쉬 쿨타임 중에 캐릭터 흔들리는 효과 추가
+ SandMole 맵 bgm 변경 + SandMole Dig 사운드 추가 + GateOfSpikeParticle 사운드 변경 Closes #30
This commit is contained in:
parent
d698d5c87b
commit
f9f5cc1f7e
@ -2752,6 +2752,80 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
SwitchMapsOpened: 5
|
||||
SwitchMapsClosed: 4
|
||||
--- !u!1001 &456764211
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 1959431164}
|
||||
m_Modifications:
|
||||
- target: {fileID: 125726, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: SmokeExplosionDark
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 464840, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 464840, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 464840, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 464840, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 464840, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 464840, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 464840, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 464840, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: -90
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 464840, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 464840, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 19844120, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
propertyPath: looping
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 19915054, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
propertyPath: m_Materials.Array.size
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 19944218, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
propertyPath: m_Materials.Array.size
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
--- !u!4 &456764212 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 464840, guid: 28237332098b6a54a92d770e23648a92, type: 3}
|
||||
m_PrefabInstance: {fileID: 456764211}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &457545153
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -6895,7 +6969,10 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedGameObjects:
|
||||
- targetCorrespondingSourceObject: {fileID: 6697035683559506932, guid: 680ce017bd2b7d34a99245242d032120, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 456764212}
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 680ce017bd2b7d34a99245242d032120, type: 3}
|
||||
--- !u!1 &1179122868 stripped
|
||||
@ -12775,6 +12852,11 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1921707981}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!4 &1959431164 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6697035683559506932, guid: 680ce017bd2b7d34a99245242d032120, type: 3}
|
||||
m_PrefabInstance: {fileID: 1179122867}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &1980749791
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -64,6 +64,7 @@ namespace BlueWater.Players.Combat
|
||||
private float _finalSpeed;
|
||||
|
||||
// Dash
|
||||
[field: Title("대쉬")]
|
||||
[field: SerializeField, Range(1f, 50f), Tooltip("대쉬 속도")]
|
||||
public float DashSpeed { get; private set; } = 20f;
|
||||
|
||||
@ -72,6 +73,15 @@ namespace BlueWater.Players.Combat
|
||||
|
||||
[field: SerializeField, Range(0f, 5f), Tooltip("대쉬 쿨타임")]
|
||||
public float DashCooldown { get; private set; } = 0.5f;
|
||||
|
||||
[field: SerializeField, Tooltip("대쉬가 쿨타임일 때 이펙트 사용 여부")]
|
||||
public bool EnableDashCooldownEffect { get; private set; } = true;
|
||||
|
||||
[field: SerializeField, Range(0f, 1f), Tooltip("대쉬가 쿨타임일 때, VisualLook이 x축 좌우로 움직이는 범위")]
|
||||
public float DashCooldownShakingOffset { get; private set; } = 0.1f;
|
||||
|
||||
[field: SerializeField, Range(0, 10f), Tooltip("대쉬가 쿨타임일 때, VisualLook이 x축 좌우로 움직이는 횟수")]
|
||||
public int DashCooldownShakingCount { get; private set; } = 2;
|
||||
|
||||
public bool IsDashEnabled { get; private set; } = true;
|
||||
|
||||
@ -89,6 +99,7 @@ namespace BlueWater.Players.Combat
|
||||
public bool IsDashCoolDownActive { get; private set; }
|
||||
|
||||
private Coroutine _dashCoroutine;
|
||||
private Coroutine _dashCooldownEffectCoroutineInstance;
|
||||
|
||||
#endregion
|
||||
|
||||
@ -191,7 +202,23 @@ namespace BlueWater.Players.Combat
|
||||
// Dash
|
||||
public bool CanDash()
|
||||
{
|
||||
if (!IsDashEnabled || IsDashing || IsDashCoolDownActive) return false;
|
||||
if (!IsDashEnabled || IsDashing) return false;
|
||||
|
||||
if (IsDashCoolDownActive)
|
||||
{
|
||||
if (EnableDashCooldownEffect)
|
||||
{
|
||||
Utils.StartUniqueCoroutine(this, ref _dashCooldownEffectCoroutineInstance, DashCoolDownEffectCoroutine());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (EnableDashCooldownEffect && _dashCooldownEffectCoroutineInstance != null)
|
||||
{
|
||||
StopCoroutine(_dashCooldownEffectCoroutineInstance);
|
||||
_dashCooldownEffectCoroutineInstance = null;
|
||||
_visualLook.localPosition = Vector3.zero;
|
||||
}
|
||||
|
||||
var isActivatingSkill = _skillHandler?.IsActivatingSkill ?? false;
|
||||
var isStunned = _stunnable?.IsStunned ?? false;
|
||||
@ -206,6 +233,21 @@ namespace BlueWater.Players.Combat
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private IEnumerator DashCoolDownEffectCoroutine()
|
||||
{
|
||||
var newLocalPosition = _visualLook.localPosition;
|
||||
for (var i = 0; i < DashCooldownShakingCount; i++)
|
||||
{
|
||||
newLocalPosition.x = DashCooldownShakingOffset;
|
||||
_visualLook.localPosition = newLocalPosition;
|
||||
yield return null;
|
||||
|
||||
newLocalPosition.x = -DashCooldownShakingOffset;
|
||||
_visualLook.localPosition = newLocalPosition;
|
||||
yield return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void Dash()
|
||||
{
|
||||
@ -236,8 +278,12 @@ namespace BlueWater.Players.Combat
|
||||
while (_animationController.IsComparingCurrentAnimation("DashState") &&
|
||||
_animationController.GetCurrentAnimationNormalizedTime() < 1f)
|
||||
{
|
||||
var finalVelocity = transform.position + dashDirection * (DashSpeed * Time.fixedDeltaTime);
|
||||
Rigidbody.MovePosition(finalVelocity);
|
||||
// MovePosition()는 벽을 뚫는 현상이 있음
|
||||
// var finalVelocity = transform.position + dashDirection * (DashSpeed * Time.fixedDeltaTime);
|
||||
// Rigidbody.MovePosition(finalVelocity);
|
||||
|
||||
var finalVelocity = dashDirection * DashSpeed;
|
||||
Rigidbody.linearVelocity = finalVelocity;
|
||||
|
||||
yield return new WaitForFixedUpdate();
|
||||
}
|
||||
|
@ -22,6 +22,6 @@ MonoBehaviour:
|
||||
- <BgmName>k__BackingField: RhinocerosMap
|
||||
<Clip>k__BackingField: {fileID: 8300000, guid: 3120a718e36ab39419f53318deed3976, type: 3}
|
||||
- <BgmName>k__BackingField: SandMoleMap
|
||||
<Clip>k__BackingField: {fileID: 8300000, guid: 4914a1d514cce3f459a0af45d62eeeee, type: 3}
|
||||
<Clip>k__BackingField: {fileID: 8300000, guid: 436cec88a3723e74baf4088b9508c79c, type: 3}
|
||||
- <BgmName>k__BackingField: GhostBarrelMap
|
||||
<Clip>k__BackingField: {fileID: 8300000, guid: d1f140d54184dc7449198f540d98d305, type: 3}
|
||||
|
@ -39,10 +39,12 @@ MonoBehaviour:
|
||||
<Clip>k__BackingField: {fileID: 8300000, guid: de54536a55703434b8ad53b9a7da3d35, type: 3}
|
||||
- <SfxName>k__BackingField: Shining
|
||||
<Clip>k__BackingField: {fileID: 8300000, guid: 916b477636e0e544daf41db98f09e3ce, type: 3}
|
||||
- <SfxName>k__BackingField: SandMoleCry
|
||||
<Clip>k__BackingField: {fileID: 8300000, guid: fe650001176ef0b46910e6c831e7a232, type: 3}
|
||||
- <SfxName>k__BackingField: MiniSandMoleCry
|
||||
<Clip>k__BackingField: {fileID: 8300000, guid: 57e09a61748af294aa6010c75327d90e, type: 3}
|
||||
- <SfxName>k__BackingField: SandMoleCry
|
||||
<Clip>k__BackingField: {fileID: 8300000, guid: fe650001176ef0b46910e6c831e7a232, type: 3}
|
||||
- <SfxName>k__BackingField: SandMoleDigIn
|
||||
<Clip>k__BackingField: {fileID: 8300000, guid: 9b6504a200c0254409913f789b0d2c52, type: 3}
|
||||
- <SfxName>k__BackingField: SandMoleStunned
|
||||
<Clip>k__BackingField: {fileID: 8300000, guid: 47e3d7492b6075a41b87468bf9801fcf, type: 3}
|
||||
- <SfxName>k__BackingField: SandMoleRoll
|
||||
|
@ -54,10 +54,6 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
|
||||
yield return new WaitUntil(() => roarTrack.IsComplete);
|
||||
|
||||
AudioManager.Instance.PlaySfx("ThrowSpike");
|
||||
AudioManager.Instance.PlaySfx("ThrowSpike");
|
||||
AudioManager.Instance.PlaySfx("ThrowSpike");
|
||||
|
||||
_spineController.SetSkin(SandMoleSkin.Normal.ToString());
|
||||
_spineController.PlayAnimation(SandMoleAnimation.Idle.ToString(), true);
|
||||
|
||||
|
@ -54,6 +54,7 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
yield break;
|
||||
}
|
||||
|
||||
AudioManager.Instance.PlaySfx("SandMoleDigIn");
|
||||
yield return new WaitUntil(() => digInTrack.IsComplete);
|
||||
|
||||
_userHitBox.enabled = false;
|
||||
|
@ -512,6 +512,9 @@ MonoBehaviour:
|
||||
<DashSpeed>k__BackingField: 20
|
||||
<DashTime>k__BackingField: 0.2
|
||||
<DashCooldown>k__BackingField: 0.5
|
||||
<EnableDashCooldownEffect>k__BackingField: 1
|
||||
<DashCooldownShakingOffset>k__BackingField: 0.1
|
||||
<DashCooldownShakingCount>k__BackingField: 2
|
||||
--- !u!114 &3889238742570113982
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -106,4 +106,4 @@ MonoBehaviour:
|
||||
m_Bits: 2240
|
||||
_useAutoDestroy: 1
|
||||
_autoDestroyTime: 10
|
||||
_awakeSfxName:
|
||||
_awakeSfxName: ThrowSpike
|
||||
|
@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 436cec88a3723e74baf4088b9508c79c
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 8
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9b6504a200c0254409913f789b0d2c52
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 8
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 27a762b0337996843b33a98c4c1f03b8
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
Reference in New Issue
Block a user