42 lines
824 B
C++
42 lines
824 B
C++
#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<Monster*> Monsters;
|
|
int CurrentMonsterIndex;
|
|
EDungeonState DungeonState;
|
|
};
|