diff --git a/Assets/JAY/Scripts/PlayerController.cs b/Assets/JAY/Scripts/PlayerController.cs index 14b2319b..10918222 100644 --- a/Assets/JAY/Scripts/PlayerController.cs +++ b/Assets/JAY/Scripts/PlayerController.cs @@ -56,6 +56,11 @@ public class PlayerController : CharacterBase, IObserver Joystick = FindObjectOfType(); } + // isBattle 초기화 (임시) + bool isHousingScene = SceneManager.GetActiveScene().name.Contains("Housing"); + _isBattle = !isHousingScene; + Debug.Log("_isBattle: " + _isBattle); + AssignCharacterController(); AssignAnimator(); } @@ -67,13 +72,6 @@ public class PlayerController : CharacterBase, IObserver hitEffectController = GetComponentInChildren(); PlayerInit(); - - // isBattle 초기화 (임시) - /*bool isHousingScene = SceneManager.GetActiveScene().name.Contains("Housing"); - _isBattle = !isHousingScene; - Debug.Log("_isBattle: " + _isBattle);*/ - - SwitchBattleMode(); } private void Update() @@ -263,6 +261,7 @@ public class PlayerController : CharacterBase, IObserver /// private void AssignCharacterController() { + Debug.Log("AssignCharacterController: " + _isBattle); _characterController = _isBattle ? battleModel.GetComponent() : normalModel.GetComponent(); diff --git a/Assets/JYY/Prefabs/Alien Big Blink.prefab b/Assets/JYY/Prefabs/Alien Big Blink.prefab index d304ab87..22205469 100644 --- a/Assets/JYY/Prefabs/Alien Big Blink.prefab +++ b/Assets/JYY/Prefabs/Alien Big Blink.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7260a373cb87c8a3b3f422c0a78f3245874c6b5106186a117e8db270c7750329 -size 71241 +oid sha256:c73dd92667ec621276bb0eb116b61bfbc770c926a3699f019f6230bdd362787f +size 71442 diff --git a/Assets/JYY/Prefabs/[Enemy] PldDog.prefab b/Assets/JYY/Prefabs/[Enemy] PldDog.prefab index 9eb356ef..37a7637f 100644 --- a/Assets/JYY/Prefabs/[Enemy] PldDog.prefab +++ b/Assets/JYY/Prefabs/[Enemy] PldDog.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fa57e55a6b7dc452a770a0a0ddb528ffa765818ec608bcb60f14e4e984a18e59 -size 79971 +oid sha256:1165af38c479c1d7bd41a952853e09bf33f6d19a62851b74edc106c49eae80e8 +size 80646 diff --git a/Assets/KSH/DungeonLogic.cs b/Assets/KSH/DungeonLogic.cs index b870d546..c0a6074b 100644 --- a/Assets/KSH/DungeonLogic.cs +++ b/Assets/KSH/DungeonLogic.cs @@ -10,6 +10,9 @@ public class DungeonLogic : MonoBehaviour [NonSerialized] public bool isCompleted = false; // 던전 클리어 여부 [NonSerialized] public bool isFailed = false; // 던전 실패 여부 + [SerializeField] private List bossPrefabs; + [SerializeField] private Transform spawnPosition; // 보스가 스폰될 위치 + private PlayerController _player; private EnemyController _enemy; @@ -17,11 +20,15 @@ public class DungeonLogic : MonoBehaviour public event Action OnDungeonSuccess; public event Action OnDungeonFailure; + private void Awake() + { + SpawnBossForCurrentStage(); + } + private void Start() { // tag를 통해 할당 / 추후 플레이어와 에너미 태그 추가 필요 _player = GameObject.FindGameObjectWithTag("Player").GetComponent(); - _enemy = GameObject.FindGameObjectWithTag("Enemy").GetComponent(); // 죽음 이벤트 구독 if (_player != null) @@ -29,11 +36,23 @@ public class DungeonLogic : MonoBehaviour _player.OnGetHit += OnPlayerGetHit; _player.OnDeath += OnPlayerDeath; } + } + + private void SpawnBossForCurrentStage() + { + int currentStage = GameManager.Instance.StageLevel; - if (_enemy != null) + if (currentStage <= bossPrefabs.Count && currentStage > 0) { - _enemy.OnGetHit += OnEnemyGetHit; - _enemy.OnDeath += OnEnemyDeath; + GameObject bossPrefab = bossPrefabs[currentStage - 1]; + GameObject bossObj = Instantiate(bossPrefab, spawnPosition.position, Quaternion.identity); + _enemy = bossObj.GetComponent(); + + if (_enemy != null) + { + _enemy.OnGetHit += OnEnemyGetHit; + _enemy.OnDeath += OnEnemyDeath; + } } } @@ -52,6 +71,8 @@ public class DungeonLogic : MonoBehaviour private void OnEnemyGetHit(CharacterBase enemy) { + Debug.Log("enemyGETHIT"); + if (isFailed || isCompleted) return; // TODO: 에너미 피격 효과음 diff --git a/Assets/KSH/ReDungeon.meta b/Assets/KSH/ReDungeon.meta new file mode 100644 index 00000000..a98b6b0d --- /dev/null +++ b/Assets/KSH/ReDungeon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4193e9c8c0cfacb48ac9b3d855367a0c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/KSH/ReDungeon.unity b/Assets/KSH/ReDungeon.unity new file mode 100644 index 00000000..db71ca5a --- /dev/null +++ b/Assets/KSH/ReDungeon.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc4a3680341ed840cc97d9039d5b2dc5f7de81d62d283577bf6619013dc3d213 +size 2414646 diff --git a/Assets/KSH/ReDungeon.unity.meta b/Assets/KSH/ReDungeon.unity.meta new file mode 100644 index 00000000..52b8eb92 --- /dev/null +++ b/Assets/KSH/ReDungeon.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b7412a4a2ee433447afcb28700cb50a9 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/KSH/ReDungeon/NavMesh-Ground.asset b/Assets/KSH/ReDungeon/NavMesh-Ground.asset new file mode 100644 index 00000000..e9bc392b Binary files /dev/null and b/Assets/KSH/ReDungeon/NavMesh-Ground.asset differ diff --git a/Assets/KSH/ReDungeon/NavMesh-Ground.asset.meta b/Assets/KSH/ReDungeon/NavMesh-Ground.asset.meta new file mode 100644 index 00000000..13c917a3 --- /dev/null +++ b/Assets/KSH/ReDungeon/NavMesh-Ground.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 75d6602e946891641821809218b5ccb8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 23800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/KSH/ReHousing.unity b/Assets/KSH/ReHousing.unity index e9025304..c91bf980 100644 --- a/Assets/KSH/ReHousing.unity +++ b/Assets/KSH/ReHousing.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b3f305cf446df76596f25e4ba247f35283cfba1441d7b2da7bfc3dcce6811e0a -size 607385 +oid sha256:c5dd7c03ffb3881a0ce17876a5533d74aac721313b347a2104d3056fea325e9d +size 607417 diff --git a/Assets/Scripts/Common/GameManager.cs b/Assets/Scripts/Common/GameManager.cs index 91b07280..c784f463 100644 --- a/Assets/Scripts/Common/GameManager.cs +++ b/Assets/Scripts/Common/GameManager.cs @@ -66,12 +66,14 @@ public partial class GameManager : Singleton public void ChangeToGameScene() { - SceneManager.LoadScene("DungeonTestScene"); // 던전 Scene + SceneManager.LoadScene("ReDungeon"); // 던전 Scene + HandleSceneAudio("Dungeon"); } public void ChangeToHomeScene() { SceneManager.LoadScene("ReHousing"); // Home Scene + HandleSceneAudio("Housing"); } // TODO: Open Setting Panel 등 Panel 처리 diff --git a/Assets/Scripts/Common/GameUtility/GameSound.cs b/Assets/Scripts/Common/GameUtility/GameSound.cs index ff3e9f02..c4e17d38 100644 --- a/Assets/Scripts/Common/GameUtility/GameSound.cs +++ b/Assets/Scripts/Common/GameUtility/GameSound.cs @@ -154,7 +154,7 @@ public partial class GameManager { targetScene = "Housing"; } - else if (sceneName.Contains("Game")) + else if (sceneName.Contains("Dungeon")) { targetScene = "Game"; } diff --git a/Assets/Scripts/Common/SoundManager.cs b/Assets/Scripts/Common/SoundManager.cs index d3e04005..6c6acee3 100644 --- a/Assets/Scripts/Common/SoundManager.cs +++ b/Assets/Scripts/Common/SoundManager.cs @@ -23,7 +23,7 @@ public class SoundManager : Singleton // 페이드 효과 진행 여부 private bool isFading = false; - private void Awake() + private void Start() { InitializeAudioSources(); } diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index a6e8a34f..f982c05c 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -9,6 +9,6 @@ EditorBuildSettings: path: Assets/KSH/ReHousing.unity guid: b748e35b920bde64cbd6ffe5fdb43e23 - enabled: 1 - path: Assets/KSH/DungeonTestScene.unity - guid: 4563b107911b0e54cbdf659694a6f17a + path: Assets/KSH/ReDungeon.unity + guid: b7412a4a2ee433447afcb28700cb50a9 m_configObjects: {}