From b5315e37f098d04bb77142f1a2544b2dc4725f3a Mon Sep 17 00:00:00 2001 From: Ino Date: Fri, 30 May 2025 08:38:39 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B3=A8=EB=A0=98=20=EC=B0=A8=EC=9D=BC?= =?UTF-8?q?=EB=93=9C=20=EC=8A=A4=ED=82=AC2=20=EB=8B=A4=EB=8B=A8=ED=9E=88?= =?UTF-8?q?=ED=8A=B8=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Obj/Golem_Child_Skill2_Indicator.prefab | 162 +++++++++--------- .../FieldBoss/Golem_Child_Skill2.prefab | 17 +- .../Character/Mob/Boss/Boss_GolemChild.cs | 15 +- .../Projectile_StopAndColliderControl.cs | 44 +++-- 4 files changed, 131 insertions(+), 107 deletions(-) diff --git a/Assets/Res_Addr/Obj/Golem_Child_Skill2_Indicator.prefab b/Assets/Res_Addr/Obj/Golem_Child_Skill2_Indicator.prefab index 0eacf1deb..bdde52411 100644 --- a/Assets/Res_Addr/Obj/Golem_Child_Skill2_Indicator.prefab +++ b/Assets/Res_Addr/Obj/Golem_Child_Skill2_Indicator.prefab @@ -29,89 +29,89 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 6375824511339138443} + - {fileID: 3342063792445068335} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &5389208046211158943 -GameObject: +--- !u!1001 &3345865209516317653 +PrefabInstance: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6375824511339138443} - - component: {fileID: 292154521008100957} - - component: {fileID: 3775451288762826441} - m_Layer: 3 - m_Name: Indicator - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6375824511339138443 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5389208046211158943} serializedVersion: 2 - m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 3, y: 3, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2201136656505196193} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &292154521008100957 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 2201136656505196193} + m_Modifications: + - target: {fileID: 1173698457435006, guid: a93b07a8595bb0145bc3af1e9911c409, type: 3} + propertyPath: m_Name + value: Marker 7 Danger zone + objectReference: {fileID: 0} + - target: {fileID: 4367129774968826, guid: a93b07a8595bb0145bc3af1e9911c409, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4367129774968826, guid: a93b07a8595bb0145bc3af1e9911c409, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4367129774968826, guid: a93b07a8595bb0145bc3af1e9911c409, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4367129774968826, guid: a93b07a8595bb0145bc3af1e9911c409, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4367129774968826, guid: a93b07a8595bb0145bc3af1e9911c409, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4367129774968826, guid: a93b07a8595bb0145bc3af1e9911c409, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4367129774968826, guid: a93b07a8595bb0145bc3af1e9911c409, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4367129774968826, guid: a93b07a8595bb0145bc3af1e9911c409, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4367129774968826, guid: a93b07a8595bb0145bc3af1e9911c409, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4367129774968826, guid: a93b07a8595bb0145bc3af1e9911c409, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198706515776294966, guid: a93b07a8595bb0145bc3af1e9911c409, + type: 3} + propertyPath: lengthInSec + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 198706515776294966, guid: a93b07a8595bb0145bc3af1e9911c409, + type: 3} + propertyPath: InitialModule.startLifetime.scalar + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 198980401682514854, guid: a93b07a8595bb0145bc3af1e9911c409, + type: 3} + propertyPath: lengthInSec + value: 2.5 + objectReference: {fileID: 0} + - target: {fileID: 198980401682514854, guid: a93b07a8595bb0145bc3af1e9911c409, + type: 3} + propertyPath: InitialModule.startLifetime.scalar + value: 2.5 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: a93b07a8595bb0145bc3af1e9911c409, type: 3} +--- !u!4 &3342063792445068335 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4367129774968826, guid: a93b07a8595bb0145bc3af1e9911c409, + type: 3} + m_PrefabInstance: {fileID: 3345865209516317653} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5389208046211158943} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3775451288762826441 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5389208046211158943} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 3e1c80888ebc582469572ddac13cc967, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} diff --git a/Assets/Res_Addr/Projectile/FieldBoss/Golem_Child_Skill2.prefab b/Assets/Res_Addr/Projectile/FieldBoss/Golem_Child_Skill2.prefab index 78c9e2ed9..b3c9fd38d 100644 --- a/Assets/Res_Addr/Projectile/FieldBoss/Golem_Child_Skill2.prefab +++ b/Assets/Res_Addr/Projectile/FieldBoss/Golem_Child_Skill2.prefab @@ -9,7 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2041519526365624679} - - component: {fileID: 3584743580748486036} + - component: {fileID: 338443113752706658} - component: {fileID: 5485071435884941762} m_Layer: 0 m_Name: Golem_Child_Skill2 @@ -34,7 +34,7 @@ Transform: - {fileID: 2056933602880048142} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &3584743580748486036 +--- !u!114 &338443113752706658 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -43,14 +43,19 @@ MonoBehaviour: m_GameObject: {fileID: 4365863600087615352} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e5d2fd9d460da6a4d87b4be83a4cdc32, type: 3} + m_Script: {fileID: 11500000, guid: c85446e2e4058a141922972c3cd2888c, type: 3} m_Name: m_EditorClassIdentifier: ColliderLayer: Actor - m_Pierce: 1 + m_Pierce: 0 str_HitEffect: m_ShowTimeOverEffect: 1 - ShowTarget: 0 + m_Collider: {fileID: 0} + ColliderActiveDealyTime: 2.5 + LoopTime: 0.4 + Loop: 1 + DelayTime: 0.1 + ColliderActiveFrame: 1 --- !u!65 &5485071435884941762 BoxCollider: m_ObjectHideFlags: 0 @@ -70,7 +75,7 @@ BoxCollider: m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 3 - m_Size: {x: 3, y: 3, z: 3} + m_Size: {x: 5, y: 3, z: 5} m_Center: {x: 0, y: 0, z: 0} --- !u!1001 &4651982303332091442 PrefabInstance: diff --git a/Assets/Script/Character/Mob/Boss/Boss_GolemChild.cs b/Assets/Script/Character/Mob/Boss/Boss_GolemChild.cs index 0676967bb..d8f7f8978 100644 --- a/Assets/Script/Character/Mob/Boss/Boss_GolemChild.cs +++ b/Assets/Script/Character/Mob/Boss/Boss_GolemChild.cs @@ -42,8 +42,8 @@ public class Boss_GolemChild : BossMobActor CoolTime_Skill1 = 1f; CoolTime_Skill2 = 2f; - //CoolTime_Skill1 = 10000f; - CoolTime_Skill2 = 20000f; + CoolTime_Skill1 = 10000f; + //CoolTime_Skill2 = 20000f; } protected override void Init(bool initSkill1CoolTime, bool initSkill2CoolTime) @@ -147,16 +147,19 @@ public class Boss_GolemChild : BossMobActor dic_indicator[1].transform.position = targetPos; yield return new WaitForSeconds(Skill2ChargingTime); - dic_indicator[1].SetActive(false); - AnimationPlay("boss_skill2attack"); + AnimationPlay("boss_skill2attack"); // 스킬 발사 - yield return new WaitForSeconds(1.5f); + yield return new WaitForSeconds(1.0f); + dic_indicator[1].SetActive(false); // 인디케이터 끄기 + + //yield return new WaitForSeconds(0.5f); + yield return new WaitForSeconds(3f); // 테스트용 Init(false, true); Check_Battle(); yield return new WaitForSeconds(3.5f); // 추가 데미지 - ProjectileInfo.Ins.Shoot_Projectile("FieldBoss/Golem_Child_Skill2After", this, m_Target, Get_Skill2Dmg(), targetPos, 3f); + //ProjectileInfo.Ins.Shoot_Projectile("FieldBoss/Golem_Child_Skill2After", this, m_Target, Get_Skill2Dmg(), targetPos, 3f); } protected override float Get_Skill2Dmg() { return Skill2Dmg; } diff --git a/Assets/Script/Character/Projectile/Projectile/Projectile_StopAndColliderControl.cs b/Assets/Script/Character/Projectile/Projectile/Projectile_StopAndColliderControl.cs index 7aa160e4e..8c369fc46 100644 --- a/Assets/Script/Character/Projectile/Projectile/Projectile_StopAndColliderControl.cs +++ b/Assets/Script/Character/Projectile/Projectile/Projectile_StopAndColliderControl.cs @@ -5,9 +5,11 @@ using UnityEngine; public class Projectile_StopAndColliderControl : ProjectileBase { public Collider m_Collider; - [Header("다단히트 시간(0 이상일 때 우선 적용")] + [Header("충돌박스가 켜질 딜레이 시간")] + public float ColliderActiveDealyTime = 0f; + [Header("다단히트 시간(0 초과 시 우선 적용)")] public float LoopTime = 0f; - [Header("다단히트 갯수(시간이 0이하일 때 적용)")] + [Header("다단히트 갯수(다단히트 시간이 0이하 시 적용)")] public int Loop = 1; [Header("충돌박스가 꺼졌다 켜지는 시간(0 == 1프레임)")] public float DelayTime = 1f; @@ -28,27 +30,41 @@ public class Projectile_StopAndColliderControl : ProjectileBase protected IEnumerator Co_Collider() { - int loopCount = Loop; + m_Collider.enabled = false; + yield return new WaitForSeconds(ColliderActiveDealyTime); if (LoopTime > 0f) { - float oneCycleTime = Mathf.Max(DelayTime, Time.deltaTime) + (ColliderActiveFrame / 60f); - loopCount = Mathf.FloorToInt(LoopTime / oneCycleTime); - loopCount = Mathf.Max(loopCount, 1); // 최소 1회는 보장 - } + var loop = LoopTime; + while (loop > 0f) + { + yield return new WaitForSeconds(DelayTime); + loop -= DelayTime; - for (int i = 0; i < loopCount; i++) + m_Collider.enabled = true; + + for (int j = 0; j < ColliderActiveFrame; j++) + yield return null; + + m_Collider.enabled = false; + } + } + else { - m_Collider.enabled = false; - yield return new WaitForSeconds(DelayTime > 0f ? DelayTime : Time.deltaTime); - m_Collider.enabled = true; + for (int i = 0; i < Loop; i++) + { + yield return new WaitForSeconds(DelayTime > 0f ? DelayTime : Time.deltaTime); + m_Collider.enabled = true; - for (int j = 0; j < ColliderActiveFrame; j++) - yield return null; + for (int j = 0; j < ColliderActiveFrame; j++) + yield return null; + + m_Collider.enabled = false; + } } - m_Collider.enabled = false; act_End?.Invoke(); act_End = null; + Off(true); } } \ No newline at end of file