#pragma once #include "Core/Scene/CoreScene.h" #include "Game/Characters/Player/Player.h" enum class EDungeonState { Default = 0, DungeonMenu, BattleRunning, BattleResult, PlayerWin, PlayerLoose, DungeonReward, EnterBossRoom, DungeonExit }; class Monster; class DungeonScene : public CoreScene { public: DungeonScene(GameSceneManager* InOwner); ~DungeonScene() override = default; EDungeonState ProcessDungeonMenu(); void DestroyCurrentMonster(Monster* TargetMonster); bool ProcessBattle(Monster* SelectedMonster); void EvalueteBattle(Player* TargetPlayer, Monster* TargetMonster); void Enter() override; void Update() override; void Exit() override; void Release() override; private: Player* LocalPlayer; std::vector Monsters; int CurrentMonsterIndex; EDungeonState DungeonState; };