diff --git a/Assets/Prefabs/Tuna.prefab b/Assets/Prefabs/Tuna.prefab new file mode 100644 index 0000000..a76762a --- /dev/null +++ b/Assets/Prefabs/Tuna.prefab @@ -0,0 +1,177 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1257769410015698969 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 654332869059302118} + - component: {fileID: 2528286071456296154} + - component: {fileID: 8629637382498582022} + - component: {fileID: 6157362189544272001} + - component: {fileID: 3431339588436326551} + m_Layer: 8 + m_Name: Tuna + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &654332869059302118 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257769410015698969} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.28, y: 0.05, z: 0} + m_LocalScale: {x: 4, y: 4, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &2528286071456296154 +SpriteRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257769410015698969} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -1 + m_MaskInteraction: 0 + m_Sprite: {fileID: 21300000, guid: bf6d243c5f47f004fa08d89758c6bc0e, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.9531249, y: 1.9531249} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_SpriteSortPoint: 0 +--- !u!50 &8629637382498582022 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257769410015698969} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!70 &6157362189544272001 +CapsuleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257769410015698969} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: -0.022632053, y: 0.105049506} + m_Size: {x: 1.9644433, y: 1.297762} + m_Direction: 1 +--- !u!114 &3431339588436326551 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257769410015698969} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0f3078fdd3458bf459c4463291b07499, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Unicorn.Boss.Tuna + maxHealth: 200 + health: 200 + hpBarPrefab: {fileID: 8660741472197541266, guid: 80d51bce958d6c94eb94d45ca7bf8c3f, type: 3} + projContainer: {fileID: 0} + phase1Proj: {fileID: 5921252368867129526, guid: 6db1d20b24524e6449e79fcc39f40401, type: 3} diff --git a/Assets/Prefabs/Tuna.prefab.meta b/Assets/Prefabs/Tuna.prefab.meta new file mode 100644 index 0000000..652f581 --- /dev/null +++ b/Assets/Prefabs/Tuna.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3122dc7e05ab48e42bf631163a23b37f +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/MainScene.unity b/Assets/Scenes/MainScene.unity index 6b556f0..292e87b 100644 --- a/Assets/Scenes/MainScene.unity +++ b/Assets/Scenes/MainScene.unity @@ -1108,181 +1108,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1132170011 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1132170015} - - component: {fileID: 1132170014} - - component: {fileID: 1132170013} - - component: {fileID: 1132170016} - - component: {fileID: 1132170017} - m_Layer: 8 - m_Name: Tuna - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!50 &1132170013 -Rigidbody2D: - serializedVersion: 5 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1132170011} - m_BodyType: 0 - m_Simulated: 1 - m_UseFullKinematicContacts: 0 - m_UseAutoMass: 0 - m_Mass: 1 - m_LinearDamping: 0 - m_AngularDamping: 0.05 - m_GravityScale: 1 - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_Interpolate: 0 - m_SleepingMode: 1 - m_CollisionDetection: 0 - m_Constraints: 4 ---- !u!212 &1132170014 -SpriteRenderer: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1132170011} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, 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: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: -1 - m_MaskInteraction: 0 - m_Sprite: {fileID: 21300000, guid: bf6d243c5f47f004fa08d89758c6bc0e, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_FlipX: 0 - m_FlipY: 0 - m_DrawMode: 0 - m_Size: {x: 1.9531249, y: 1.9531249} - m_AdaptiveModeThreshold: 0.5 - m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 - m_SpriteSortPoint: 0 ---- !u!4 &1132170015 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1132170011} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 5.31, y: -0.06, z: 0} - m_LocalScale: {x: 4, y: 4, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!70 &1132170016 -CapsuleCollider2D: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1132170011} - m_Enabled: 1 - serializedVersion: 3 - m_Density: 1 - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_ForceSendLayers: - serializedVersion: 2 - m_Bits: 4294967295 - m_ForceReceiveLayers: - serializedVersion: 2 - m_Bits: 4294967295 - m_ContactCaptureLayers: - serializedVersion: 2 - m_Bits: 4294967295 - m_CallbackLayers: - serializedVersion: 2 - m_Bits: 4294967295 - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_CompositeOperation: 0 - m_CompositeOrder: 0 - m_Offset: {x: -0.022632053, y: 0.105049506} - m_Size: {x: 1.9644433, y: 1.297762} - m_Direction: 1 ---- !u!114 &1132170017 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1132170011} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0f3078fdd3458bf459c4463291b07499, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::Unicorn.Boss.Tuna - maxHealth: 200 - health: 200 - hpBarPrefab: {fileID: 8660741472197541266, guid: 80d51bce958d6c94eb94d45ca7bf8c3f, type: 3} - projContainer: {fileID: 1398908074} - phase1Proj: {fileID: 5921252368867129526, guid: 6db1d20b24524e6449e79fcc39f40401, type: 3} --- !u!1 &1291505767 GameObject: m_ObjectHideFlags: 0 @@ -1749,5 +1574,4 @@ SceneRoots: - {fileID: 68822293} - {fileID: 1523163457} - {fileID: 1291505768} - - {fileID: 1132170015} - {fileID: 1036095517} diff --git a/Assets/Scripts/Unicorn/Boss/Tuna.cs b/Assets/Scripts/Unicorn/Boss/Tuna.cs index 19484ff..0bce7df 100644 --- a/Assets/Scripts/Unicorn/Boss/Tuna.cs +++ b/Assets/Scripts/Unicorn/Boss/Tuna.cs @@ -16,13 +16,13 @@ namespace Unicorn.Boss private UnicornPhase _unicornPhase = UnicornPhase.Start; private Queue _p1Ps = new Queue(); private SpriteRenderer _renderer; - private const float P1PC = 12; + private const float P1PC = 50; public Transform projContainer; public GameObject phase1Proj; - private void Start() + private new void Start() { _renderer = GetComponent(); StartCoroutine(Started()); @@ -31,7 +31,8 @@ namespace Unicorn.Boss private IEnumerator Started() { - const float target = 360*5/P1PC; + Invulnerable = true; + const float target = P1PC*5; while (_p1Ps.Count < target) { for (var i = 0; i < 5 && _p1Ps.Count < target; i++) //프레임당 5개씩 생성 @@ -45,26 +46,21 @@ namespace Unicorn.Boss StartCoroutine(Phase1()); } - private void FixedUpdate() - { - - } - // 수정된 Phase1 로직 private IEnumerator Phase1() { + Invulnerable = false; _unicornPhase = UnicornPhase.P1; - float angleStep = 360f / P1PC; // 각도 간격 (30도) + const float angleStep = 360f / P1PC; // 각도 간격 (30도) - for (int i = 0; i < P1PC; i++) + for (var i = 0; i < P1PC; i++) { var dequeue = _p1Ps.Dequeue(); dequeue.SetActive(true); dequeue.transform.position = transform.position; - float targetAngle = transform.rotation.eulerAngles.z + (angleStep * i); + var targetAngle = transform.rotation.eulerAngles.z + (angleStep * i); dequeue.transform.rotation = Quaternion.Euler(0, 0, targetAngle); _p1Ps.Enqueue(dequeue); - yield return new WaitForSeconds(.2f); } yield return new WaitForSeconds(1); StartCoroutine(Phase1()); diff --git a/Assets/Scripts/Unicorn/LivingEntity.cs b/Assets/Scripts/Unicorn/LivingEntity.cs index c632e10..0771801 100644 --- a/Assets/Scripts/Unicorn/LivingEntity.cs +++ b/Assets/Scripts/Unicorn/LivingEntity.cs @@ -8,8 +8,11 @@ namespace Unicorn public float maxHealth = 20.0f; public float health = 20.0f; public GameObject hpBarPrefab; + + + protected bool Invulnerable = false; + private Rigidbody2D Rb { get; set; } - private bool _invulnerable = false; private HpBar _hpBar; protected void Start() @@ -21,7 +24,7 @@ namespace Unicorn public void Damage(DamageInfo info) { - if (_invulnerable) return; + if (Invulnerable) return; health -= info.Damage; OnDamaged(info); OnKnockback(info); diff --git a/Assets/Sprites/CC.meta b/Assets/Sprites/CC.meta new file mode 100644 index 0000000..be1792e --- /dev/null +++ b/Assets/Sprites/CC.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51e0cab367d56e64fa3f61055649288a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Sprites/CC/Dice.png b/Assets/Sprites/CC/Dice.png new file mode 100644 index 0000000..f610c41 Binary files /dev/null and b/Assets/Sprites/CC/Dice.png differ diff --git a/Assets/Sprites/CC/Dice.png.meta b/Assets/Sprites/CC/Dice.png.meta new file mode 100644 index 0000000..f2698c2 --- /dev/null +++ b/Assets/Sprites/CC/Dice.png.meta @@ -0,0 +1,156 @@ +fileFormatVersion: 2 +guid: f562ab568e33d96488af32c0785070b6 +TextureImporter: + internalIDToNameTable: + - first: + 213: -2400582030874938850 + second: badaman-dice_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 380 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: badaman-dice_0 + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 699 + height: 734 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: e12738b9c5b6faed0800000000000000 + internalID: -2400582030874938850 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + badaman-dice_0: -2400582030874938850 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: