frillrun/src/game/state/STATE_COMMON.h
2024-08-29 18:06:02 -04:00

55 lines
907 B
C

#pragma once
#include "level/level.h"
#include "cutscene/cutscene.h"
#include "title/title.h"
#include "ending/ending.h"
#include "../resource/resource_texture.h"
#define LEVEL_COUNT (LEVEL_FIVE + 1)
typedef enum LevelType
{
LEVEL_ONE,
LEVEL_TWO,
LEVEL_THREE,
LEVEL_FOUR,
LEVEL_FIVE
} LevelType;
#define STATE_COUNT (STATE_CUTSCENE_THREE + 1)
typedef enum StateType
{
STATE_TITLE,
STATE_CUTSCENE_ONE,
STATE_CUTSCENE_TWO,
STATE_CUTSCENE_THREE,
STATE_CUTSCENE_FOUR,
STATE_CUTSCENE_FIVE,
STATE_CUTSCENE_FINAL,
STATE_ENDING,
STATE_ENDING_TWO,
STATE_ENDING_THREE,
STATE_LEVEL_ONE,
STATE_LEVEL_TWO,
STATE_LEVEL_THREE,
STATE_LEVEL_FOUR,
STATE_LEVEL_FIVE
} StateType;
typedef struct State
{
ECS* ecs;
StateType type;
StateType setType;
bool isChanging;
LevelData levelData[LEVEL_COUNT];
union
{
Level level;
Title title;
Cutscene cutscene;
Ending ending;
} states;
} State;