From 022bc48bc57423344541a4c5ca36c3e336351bd2 Mon Sep 17 00:00:00 2001 From: Dal4segno Date: Tue, 13 Jan 2026 01:20:44 +0900 Subject: [PATCH] =?UTF-8?q?=ED=83=80=EC=9B=8C=20=EC=84=A0=ED=83=9D=20?= =?UTF-8?q?=EA=B1=B4=EC=84=A4=20=EB=B0=8F=20=EB=AA=B9=20=EC=9B=A8=EC=9D=B4?= =?UTF-8?q?=EB=B8=8C=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Defence용 Scene 별도 생성 --- Assets/Materials/Arrow Tower.png | Bin 0 -> 1306 bytes Assets/Materials/ArrowTowerMaterial.mat | 50 + Assets/Materials/Cannon Tower.png | Bin 0 -> 1361 bytes Assets/Materials/CannonTowerMaterial.mat | 50 + Assets/Materials/Core.png | Bin 248 -> 0 bytes Assets/Materials/CoreMaterial.mat | 2 +- Assets/Materials/Magic Tower.png | Bin 0 -> 1019 bytes Assets/Materials/MagicTowerMaterial.mat | 50 + Assets/Materials/파일런.png | Bin 0 -> 87383 bytes Assets/Prefabs/Arrow Tower.prefab | 228 +++ Assets/Prefabs/Cannon Tower.prefab | 256 +++ Assets/Prefabs/ConstructionSite.prefab | 28 + Assets/Prefabs/Enemy.prefab | 2 +- Assets/Prefabs/Ghost.prefab | 129 ++ Assets/Prefabs/Magic Tower.prefab | 228 +++ Assets/Prefabs/Tower.prefab | 118 +- Assets/Scenes/DefenceScene.unity | 1652 +++++++++++++++-- .../Scenes/DefenceScene/NavMesh-Ground.asset | Bin 0 -> 24392 bytes Assets/Scripts/GameBase/BuildManager.cs | 72 +- Assets/Scripts/GameBase/ConstructionSite.cs | 14 +- Assets/Scripts/GameBase/Core.cs | 11 +- Assets/Scripts/GameBase/Gate.cs | 9 +- Assets/Scripts/GameBase/WaveManager.cs | 17 +- Assets/Scripts/Player/PlayerMovement.cs | 6 + ...2a-7604-9433-ddaf837699a9_Preview.png.json | 11 + ProjectSettings/TagManager.asset | 2 +- 26 files changed, 2768 insertions(+), 167 deletions(-) create mode 100644 Assets/Materials/Arrow Tower.png create mode 100644 Assets/Materials/ArrowTowerMaterial.mat create mode 100644 Assets/Materials/Cannon Tower.png create mode 100644 Assets/Materials/CannonTowerMaterial.mat delete mode 100644 Assets/Materials/Core.png create mode 100644 Assets/Materials/Magic Tower.png create mode 100644 Assets/Materials/MagicTowerMaterial.mat create mode 100644 Assets/Materials/파일런.png create mode 100644 Assets/Prefabs/Arrow Tower.prefab create mode 100644 Assets/Prefabs/Cannon Tower.prefab create mode 100644 Assets/Prefabs/Ghost.prefab create mode 100644 Assets/Prefabs/Magic Tower.prefab create mode 100644 Assets/Scenes/DefenceScene/NavMesh-Ground.asset create mode 100644 GeneratedAssets/7d7f03dc57e98b64fabedfed1acf54d1/019bb291-402a-7604-9433-ddaf837699a9_Preview.png.json diff --git a/Assets/Materials/Arrow Tower.png b/Assets/Materials/Arrow Tower.png new file mode 100644 index 0000000000000000000000000000000000000000..db96fb7c8584d4c638cab8bc026c6214d8d608c2 GIT binary patch literal 1306 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85kt5fiR=Q#ZzyA8rm~MB1$5BeXNr6bM+Ea@{>~aDsl^esu>t; z>?;Zqle1Gx6p~WYGxKcK-|yb9u8^5xs~&FZYv5bpoSKp8QB{;0T;&&%T$P<{nWAoQ z$IE3?VFffHH?<^Dp&~aYuh^=>Rtapd6_5=Q)>pE#DN0GR3UYCSssQqAl`=|73as?? z%gf94%8m8%i_-NCEiEne4UF`SjC6r2bc-wVN)jt{^NN+B2DqdaCl_TFlw{`TDS!-2 zOv*1Uu~jN9%}lXMOH4CON=Y%*O-eLQ(KR$oNz_eDF*ejqF*Z&yH#M{{N;6DSf?8ja znTD`GuNWE(zyQ$)$>>wgQzXDnC zkO2h~Jakj@fI(Ug3_G1EGq@QTm}NX&978JN-p)MlEs`j4e1BPlh*{*?ZL+GTdv&He zc__Y0+Rhid%SFz*%kzVDATPz?~@u;E{~o5bno7w&GY|FZtu*Gs1v8vHp+nM)aCeoOBx z`S+n-e{$P(;kp0&jm^;M zHJo<-;mso!y^((ujy#@z+2mM7BEw|nMw@8f-`>Mp z0hEAww}^J?aR8OAQRA9%XFVVM(xBPCienrz@zZ(!T@QT#FscbZ%! R*ECQ8<>~6@vd$@?2>|i^8tec7 literal 0 HcmV?d00001 diff --git a/Assets/Materials/ArrowTowerMaterial.mat b/Assets/Materials/ArrowTowerMaterial.mat new file mode 100644 index 0000000..e77d7aa --- /dev/null +++ b/Assets/Materials/ArrowTowerMaterial.mat @@ -0,0 +1,50 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: ArrowTowerMaterial + m_Shader: {fileID: 4800000, guid: e260cfa7296ee7642b167f1eb5be5023, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 206db4b680835834bb863402d6ff99f0, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _EnableExternalAlpha: 0 + - _ZWrite: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Materials/Cannon Tower.png b/Assets/Materials/Cannon Tower.png new file mode 100644 index 0000000000000000000000000000000000000000..6b81104760b2696526c639b504c5311604abe133 GIT binary patch literal 1361 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85kt5fiR=Q#ZzyA8rm~MB1$5BeXNr6bM+Ea@{>~aDsl^esu>t; z>?;Zqle1Gx6p~WYGxKcK-|yb9u8^5xs~&FZYv5bpoSKp8QB{;0T;&&%T$P<{nWAoQ z$IE3?VFffHH?<^Dp&~aYuh^=>Rtapd6_5=Q)>pE#DN0GR3UYCSssQqAl`=|73as?? z%gf94%8m8%i_-NCEiEne4UF`SjC6r2bc-wVN)jt{^NN+B2DqdaCl_TFlw{`TDS!-2 zOv*1Uu~jN9%}lXMOH4CON=Y%*O-eLQ(KR$oNz_eDF*ejqF*Z&yH#M{{N;6DSf?8ja znTD`GuNWE(zyQ$)$>>wgQzXDnC zkO2h~Jakj@fI(Ug3_G1EGq@QTn1elC978JN-p+FLxEv^Re81S*(8GVaZ~p7hUhett zGTUjL#RU?r6WaYGrzBKpy-1OLb7iT@hT!%*(Hkqh*`mq>u6uT0(TP;byLH4Y*JA5Z zvnH!8tiN;r7yY{*U0?bC{KwB_mGl4pKmYySnX1ag57k-Hghdx6vMg{i>0t=zXcKJU zx@f=@peW_WpyhIy!=W{ULta7q^6`fkUkcb5EB5%DO;VF_RFLtM(4ShY=q+aP?aATD zEz(7Os)=(!GFGeucz=oanml|=`o^roC^32tYn?4ufN`+?w4sB%{x75 zag=e)b%yQ7`=|BAot@0yu@d;O*0!>>gj2rYP7SAL1*(TPc{;eOVEp*oir zvg~T#TXEsL+{CLIv$AC^%1iA3atNE5&(qlNxm4_qoPFG$&w;#0{vFvGzoymJzMW4s zQ0w`lf{i^npTlA->Kgcrn}14ucyX0|Rl^PQ`qwqQo3_t!`zMQ+IzGxw^-$cFub5gvPOuQB^DhujLzuV_;XelPHq;WESTH9JEX8LC41j#o8g zGPtJ7O7Nd4-g!Qm@iIf`Q6rsaS8m_4KF?ONQ_O%DSbiKowSp<>dCP78-=W*j{O5kg z_)4bi>hc5|gZ|h3zdxiT@OW#VWM3Ylv)1LJ?VH%o&o8&0Uiu>B{O+jT{&C5xIA`t{CWZrh=Q)<}`UdRHtGLT!T+jL_X03Hg zRXXR@*J(-;%epx4Fe!*F{F<}%)vO78&2zS0iD71F@ZR|F;Zx&`b)^n*&!2W2&3W`` zwLrx>#;ha%?GuzFj%~l1aq4i;(z{)yDq(!+t^fPCVn@WIU-?f^mgF ZZ+uheZ!J^42d1EM&C}J-Wt~$(69A2!C2jx! literal 0 HcmV?d00001 diff --git a/Assets/Materials/CannonTowerMaterial.mat b/Assets/Materials/CannonTowerMaterial.mat new file mode 100644 index 0000000..f58f68d --- /dev/null +++ b/Assets/Materials/CannonTowerMaterial.mat @@ -0,0 +1,50 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: CannonTowerMaterial + m_Shader: {fileID: 4800000, guid: e260cfa7296ee7642b167f1eb5be5023, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 757fe6287061e894e9184d1cc4309696, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _EnableExternalAlpha: 0 + - _ZWrite: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Materials/Core.png b/Assets/Materials/Core.png deleted file mode 100644 index 07ca9f02b225e21e329e997705644ce82dcbe2a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85kt5fiR=Q#ZzyAg1w$Djv*CsPfr*!G8ph2Snz9lU}@<_&JGqn pxwLO`x(husgl4s<(TAGB-)b`{^2Luv51_*sJYD@<);T3K0RRF+P@n(+ diff --git a/Assets/Materials/CoreMaterial.mat b/Assets/Materials/CoreMaterial.mat index 234dbed..47a65ba 100644 --- a/Assets/Materials/CoreMaterial.mat +++ b/Assets/Materials/CoreMaterial.mat @@ -28,7 +28,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 2800000, guid: 8e4f24f3ea4a0ed488c8b0abf392ab7a, type: 3} + m_Texture: {fileID: 2800000, guid: 03dc2c6e7a3f54d42b4af7e9e232fcab, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MaskTex: diff --git a/Assets/Materials/Magic Tower.png b/Assets/Materials/Magic Tower.png new file mode 100644 index 0000000000000000000000000000000000000000..3026d260bc050fd61324ba68110515ab2365a4a4 GIT binary patch literal 1019 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85kt5fiR=Q#ZzyA8rm~MB1$5BeXNr6bM+Ea@{>~aDsl^esu>t; z>?;Zqle1Gx6p~WYGxKcK-|yb9u8^5xs~&FZYv5bpoSKp8QB{;0T;&&%T$P<{nWAoQ z$IE3?VFffHH?<^Dp&~aYuh^=>Rtapd6_5=Q)>pE#DN0GR3UYCSssQqAl`=|73as?? z%gf94%8m8%i_-NCEiEne4UF`SjC6r2bc-wVN)jt{^NN+B2DqdaCl_TFlw{`TDS!-2 zOv*1Uu~jN9%}lXMOH4CON=Y%*O-eLQ(KR$oNz_eDF*ejqF*Z&yH#M{{N;6DSf?8ja znTD`GuNWE(zyQ$)$>>wgQzXDnC zkO2h~Jakj@fI(Ug3_G1EGq{0K^4HVFF{C2y?X3M?O@R{a_oWsc@X|ib?|I~(Ly(C` zuP$$FQ}BfgvRihVnU^!hIyXC)Ul8(WZb=c+s<|QGv|#DB%RlR;@x9c4Tr1CUuJV`I z{C%H`nB2XN9%|P}6KOTmVc^P*U=X>rfk9(SB4a?tVWtHa+E^VH@_uD>`}OmE!A`kT zAAhR8;#iu*IJKigW?rnvkzb5`X;J?%_>40_ZE1o=kyZ3dwyvi4btsf+( z-f7ogk#T`JB-($)lV=M*uT5~|56IjScry31plI(xjt_H_9XSiiw#eW7-7LWVz%%js zTFC&WC(j;F+-uKK$e?%5&+S`tn~;M`iuLrO?0SJ;%myAuR635|na8Mmz$@$6+P}u{ z`43!u@LE!A3q$35vFGd`uAg4n61{l=>w(R&>)K_R4d%c5AG%$93xlJL+QyHD+t;_A zmt`&xDE}LGfvKY-=b*wD_6PBE>J!;NoUd4VaoX$M({8WkcrgE?*J9o9tIKZZr%cK_ z+ajf4Y~Fh6;@k4(7O8}+q&LUIW%IjrRxmzk-~8^r(9H|XPsFVLUz&ZBHN@lv-ykEQ)SNW&>>OKRy1ad?i YQ)kL(kau)tyAH~Mp00i_>zopr0PPWsHUIzs literal 0 HcmV?d00001 diff --git a/Assets/Materials/MagicTowerMaterial.mat b/Assets/Materials/MagicTowerMaterial.mat new file mode 100644 index 0000000..8320c27 --- /dev/null +++ b/Assets/Materials/MagicTowerMaterial.mat @@ -0,0 +1,50 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: MagicTowerMaterial + m_Shader: {fileID: 4800000, guid: e260cfa7296ee7642b167f1eb5be5023, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 1f3080729b1e864489b93f0facfbfae5, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _EnableExternalAlpha: 0 + - _ZWrite: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Materials/파일런.png b/Assets/Materials/파일런.png new file mode 100644 index 0000000000000000000000000000000000000000..e3b8e209450deceecae7cc806fd56d9b6515dec2 GIT binary patch literal 87383 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 QWV4f?clEa;PS(%=2WaM@_W%F@ literal 0 HcmV?d00001 diff --git a/Assets/Scripts/GameBase/BuildManager.cs b/Assets/Scripts/GameBase/BuildManager.cs index 98948b4..938851f 100644 --- a/Assets/Scripts/GameBase/BuildManager.cs +++ b/Assets/Scripts/GameBase/BuildManager.cs @@ -26,6 +26,11 @@ public class BuildManager : MonoBehaviour [SerializeField] private TurretData selectedTurret; // 현재 선택된 타워 데이터 [SerializeField] private bool isBuildMode = false; + [SerializeField] private LayerMask playerLayer; // 플레이어의 레이어를 지정하세요. + + [Header("Turret Library")] + [SerializeField] private List turretLibrary; // 인스펙터에서 여러 타워 등록 + private GameObject _ghostInstance; private Material _ghostMaterial; private HashSet _occupiedNodes = new HashSet(); @@ -52,9 +57,24 @@ public class BuildManager : MonoBehaviour void Update() { - if (isBuildMode) + if (!isBuildMode || _ghostInstance == null) return; + + Vector2 mousePos = Mouse.current.position.ReadValue(); + Ray ray = Camera.main.ScreenPointToRay(mousePos); + + if (Physics.Raycast(ray, out RaycastHit hit, Mathf.Infinity, groundLayer)) { - UpdateGhost(); + Vector2Int gridPos = WorldToGrid(hit.point); + _ghostInstance.transform.position = GridToWorld(gridPos, selectedTurret.size); + + // 건설 가능 여부 실시간 체크 + bool canPlace = CanBuild(gridPos, selectedTurret.size); + + // 고스트 색상 변경 (Material의 _Color 속성이 있다고 가정) + if (_ghostMaterial != null) + { + _ghostMaterial.color = canPlace ? new Color(0, 1, 0, 0.5f) : new Color(1, 0, 0, 0.5f); + } } } @@ -93,9 +113,14 @@ public class BuildManager : MonoBehaviour private void CreateGhost() { + if (selectedTurret.ghostPrefab == null) return; + if (_ghostInstance != null) Destroy(_ghostInstance); + _ghostInstance = Instantiate(selectedTurret.ghostPrefab); - _ghostMaterial = _ghostInstance.GetComponentInChildren().material; + + // [추가] 고스트의 크기도 데이터에 맞게 조정 + _ghostInstance.transform.localScale = new Vector3(selectedTurret.size.x, 5f, selectedTurret.size.y); } private void DestroyGhost() @@ -148,11 +173,15 @@ public class BuildManager : MonoBehaviour // 3. 토대 생성 GameObject siteObj = Instantiate(constructionSitePrefab, GridToWorld(gridPos, data.size), Quaternion.identity); + // [추가] 토대의 비주얼 크기를 타워 사이즈에 맞게 조정 + // x와 z는 타워의 가로/세로 사이즈를 따르고, y(높이)는 1로 유지합니다. + siteObj.transform.localScale = new Vector3(data.size.x, 5f, data.size.y); + // 4. 컴포넌트 존재 여부 체크 ConstructionSite siteScript = siteObj.GetComponent(); if (siteScript != null) { - siteScript.Initialize(data.finalPrefab, data.buildTime); + siteScript.Initialize(data.finalPrefab, data.buildTime, data.size); } else { @@ -167,11 +196,24 @@ public class BuildManager : MonoBehaviour { for (int x = 0; x < size.x; x++) for (int y = 0; y < size.y; y++) - if (_occupiedNodes.Contains(new Vector2Int(startPos.x + x, startPos.y + y))) return false; - return true; + if (_occupiedNodes.Contains(new Vector2Int(startPos.x + x, startPos.y + y))) + return false; + + // 2. 플레이어와 겹치는지 물리적 박스 검사 + Vector3 center = GridToWorld(startPos, size); + // 타워 높이의 절반 정도 위에서 검사 (y축 위치 보정) + center.y = 1f; + + // 타워 사이즈보다 아주 살짝 작게 설정하여 여유 공간 부여 (0.45f) + Vector3 halfExtents = new Vector3(size.x * 0.45f, 0.5f, size.y * 0.45f); + + // 해당 영역에 playerLayer를 가진 콜라이더가 있는지 확인 + bool isPlayerOverlapping = Physics.CheckBox(center, halfExtents, Quaternion.identity, playerLayer); + + return !isPlayerOverlapping; } - private Vector2Int WorldToGrid(Vector3 worldPos) => new Vector2Int(Mathf.RoundToInt(worldPos.x / cellSize), Mathf.RoundToInt(worldPos.z / cellSize)); + private Vector2Int WorldToGrid(Vector3 worldPos) => new Vector2Int(Mathf.FloorToInt(worldPos.x / cellSize), Mathf.FloorToInt(worldPos.z / cellSize)); private Vector3 GridToWorld(Vector2Int gridPos, Vector2Int size) { @@ -185,4 +227,20 @@ public class BuildManager : MonoBehaviour for (int z = -10; z <= 10; z++) Gizmos.DrawWireCube(new Vector3(x * cellSize, 0, z * cellSize), new Vector3(cellSize, 0.01f, cellSize)); } + + // 현재 선택된 타워를 변경하는 공용 메서드 + public void SelectTurret(int index) + { + if (index >= 0 && index < turretLibrary.Count) + { + selectedTurret = turretLibrary[index]; + Debug.Log($"{selectedTurret.turretName} 선택됨!"); + + // 만약 건설 모드 중이라면 고스트도 즉시 교체 + if (isBuildMode) + { + CreateGhost(); + } + } + } } \ No newline at end of file diff --git a/Assets/Scripts/GameBase/ConstructionSite.cs b/Assets/Scripts/GameBase/ConstructionSite.cs index bde0da2..1dd7c0c 100644 --- a/Assets/Scripts/GameBase/ConstructionSite.cs +++ b/Assets/Scripts/GameBase/ConstructionSite.cs @@ -11,11 +11,16 @@ public class ConstructionSite : MonoBehaviour private GameObject _finalTurretPrefab; private float _buildTime; private float _currentProgress = 0f; + private Vector2Int _size; // 사이즈를 저장할 변수 추가 - public void Initialize(GameObject finalPrefab, float time) + public void Initialize(GameObject finalPrefab, float time, Vector2Int size) // 매개변수 추가) { _finalTurretPrefab = finalPrefab; _buildTime = time; + _size = size; // 사이즈 저장 + + // 토대 자체의 크기 조절 (BuildManager에서 해도 되지만 여기서 하면 더 확실합니다) + transform.localScale = new Vector3(size.x, 5f, size.y); // UI 생성 및 초기화 if (uiPrefab != null) @@ -49,7 +54,12 @@ public class ConstructionSite : MonoBehaviour private void CompleteBuild() { - Instantiate(_finalTurretPrefab, transform.position, transform.rotation); + // 1. 실제 타워 생성 + GameObject turret = Instantiate(_finalTurretPrefab, transform.position, transform.rotation); + + // 2. 생성된 타워의 크기를 저장해둔 사이즈로 변경! + turret.transform.localScale = new Vector3(_size.x, 5f, _size.y); + Destroy(gameObject); } } \ No newline at end of file diff --git a/Assets/Scripts/GameBase/Core.cs b/Assets/Scripts/GameBase/Core.cs index 4bb3687..6098b74 100644 --- a/Assets/Scripts/GameBase/Core.cs +++ b/Assets/Scripts/GameBase/Core.cs @@ -4,20 +4,21 @@ using System; public class Core : MonoBehaviour, IDamageable { [SerializeField] private float maxHealth = 100f; - private float _currentHealth; + [SerializeField] private float currentHealth = 100f; + private float CurrentHealth; // 체력이 변경될 때 UI 등에 알리기 위한 이벤트 (Observer 패턴) public static event Action OnHealthChanged; public static event Action OnCoreDestroyed; - void Awake() => _currentHealth = maxHealth; + void Awake() => currentHealth = maxHealth; public void TakeDamage(float amount) { - _currentHealth -= amount; - OnHealthChanged?.Invoke(_currentHealth / maxHealth); + currentHealth -= amount; + OnHealthChanged?.Invoke(currentHealth / maxHealth); - if (_currentHealth <= 0) + if (currentHealth <= 0) OnCoreDestroyed?.Invoke(); } } \ No newline at end of file diff --git a/Assets/Scripts/GameBase/Gate.cs b/Assets/Scripts/GameBase/Gate.cs index 5352590..cf1577a 100644 --- a/Assets/Scripts/GameBase/Gate.cs +++ b/Assets/Scripts/GameBase/Gate.cs @@ -5,14 +5,15 @@ using System; public class Gate : MonoBehaviour, IDamageable { [SerializeField] private float maxHealth = 50f; - private float _currentHealth; + [SerializeField] private float currentHealth = 50f; + private float CurrentHealth; - void Awake() => _currentHealth = maxHealth; + void Awake() => currentHealth = maxHealth; public void TakeDamage(float amount) { - _currentHealth -= amount; - if (_currentHealth <= 0) + currentHealth -= amount; + if (currentHealth <= 0) gameObject.SetActive(false); } } \ No newline at end of file diff --git a/Assets/Scripts/GameBase/WaveManager.cs b/Assets/Scripts/GameBase/WaveManager.cs index 201890d..b6efc6f 100644 --- a/Assets/Scripts/GameBase/WaveManager.cs +++ b/Assets/Scripts/GameBase/WaveManager.cs @@ -32,30 +32,25 @@ public class WaveManager : MonoBehaviour IEnumerator StartWaveRoutine() { - // 모든 웨이브를 순회 + // 실행하는 오브젝트의 이름과 고유 ID를 출력 + Debug.Log($"[{gameObject.name} : {gameObject.GetInstanceID()}] 코루틴 가동 시작. 총 웨이브: {waves.Count}"); + while (_currentWaveIndex < waves.Count) { Wave currentWave = waves[_currentWaveIndex]; + Debug.Log($"현재 인덱스: {_currentWaveIndex}, 웨이브명: {currentWave.waveName}"); - Debug.Log($"Wave {_currentWaveIndex + 1}: {currentWave.waveName} 시작!"); - - // 1. 적 소환 로직 for (int i = 0; i < currentWave.count; i++) { SpawnEnemy(currentWave.enemyPrefab); - - // 지정된 간격만큼 대기 (이게 코루틴의 핵심입니다) yield return new WaitForSeconds(currentWave.spawnRate); } - // 2. 다음 웨이브 전까지 대기 - Debug.Log("웨이브 종료. 다음 웨이브 대기 중..."); + _currentWaveIndex++; // 여기서 인덱스를 올림 yield return new WaitForSeconds(timeBetweenWaves); - - _currentWaveIndex++; } - Debug.Log("모든 웨이브가 종료되었습니다!"); + Debug.Log($"[{gameObject.name}] 모든 웨이브 종료"); } void SpawnEnemy(GameObject enemyPrefab) diff --git a/Assets/Scripts/Player/PlayerMovement.cs b/Assets/Scripts/Player/PlayerMovement.cs index 8cf6f0d..da0c747 100644 --- a/Assets/Scripts/Player/PlayerMovement.cs +++ b/Assets/Scripts/Player/PlayerMovement.cs @@ -33,4 +33,10 @@ public class PlayerMovement : MonoBehaviour transform.forward = move; } } + + // Player 스크립트 내부 + void OnControllerColliderHit(ControllerColliderHit hit) + { + Debug.Log($"무언가와 부딪힘: {hit.gameObject.name}"); + } } \ No newline at end of file diff --git a/GeneratedAssets/7d7f03dc57e98b64fabedfed1acf54d1/019bb291-402a-7604-9433-ddaf837699a9_Preview.png.json b/GeneratedAssets/7d7f03dc57e98b64fabedfed1acf54d1/019bb291-402a-7604-9433-ddaf837699a9_Preview.png.json new file mode 100644 index 0000000..b34593f --- /dev/null +++ b/GeneratedAssets/7d7f03dc57e98b64fabedfed1acf54d1/019bb291-402a-7604-9433-ddaf837699a9_Preview.png.json @@ -0,0 +1,11 @@ +{ + "asset": "7d7f03dc57e98b64fabedfed1acf54d1", + "fileName": "019bb291-402a-7604-9433-ddaf837699a9_Preview.png", + "prompt": "Core, Power, Strong, Energy, Crystal", + "negativePrompt": "", + "model": "44ec3749-963a-44b1-aa54-dc19f6ed8ab2", + "modelName": "Unity Texture2D", + "customSeed": 1019150756, + "w3CTraceId": "14aa3012c34cf96a861a8e19e577f83e", + "refinementMode": "Generation" +} \ No newline at end of file diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index e8228a7..38b47aa 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -16,7 +16,7 @@ TagManager: - Enemy - Ground - ConstructionZone - - + - Player - - -