Yume Project 3.0
Touhou-inspired Danmaku game made in C only
Chargement...
Recherche...
Aucune correspondance
Référence du fichier game_state.h

Fonctions permettant de gêrer l'état du programme. Plus de détails...

#include "core/input.h"
#include "coroutine/cosched.h"
#include "ecs/pool.h"
#include "systems/button.h"
#include "systems/score.h"
#include <raylib.h>
#include "../systems/screen.h"

Aller au code source de ce fichier.

Classes

struct  GameState
 Un GameState représente un état du jeu. Chaque GameState dispose de 4 fonctions, passée par pointeurs: Plus de détails...
struct  GameContext
 Un GameContext contient l'ensemble des variables globales du jeu à un moment donné. IL est subdivisé en différents systèmes, dont en particulier la pool, ayant chacun leurs propres données. Il contient également les identifiants de l'état actuel du programme et de l'état suivant. L'état suivant ne prend en général sa valeur qu'au moment du changement d'état. Plus de détails...

Définitions de type

typedef enum StateID StateID
 Les différents états du programme On trouve les menus, le stage, les différentes pages de texte.
typedef struct GameState GameState
 Un GameState représente un état du jeu. Chaque GameState dispose de 4 fonctions, passée par pointeurs:

Énumérations

enum  StateID {
  STATE_NONE , __BEGIN_MENU__ , STATE_MENU_TITLE , STATE_MENU_SETTINGS ,
  STATE_MENU_KEYBINDS , __END_MENU__ , STATE_MOONLIGHT , STATE_GAME_OVER ,
  STATE_VICTORY , STATE_TEST , STATE_EXTRA
}
 Les différents états du programme On trouve les menus, le stage, les différentes pages de texte. Plus de détails...

Fonctions

void gamestate_initialize (GameContext *ctx, StateID state)
 Initialise le système d'états et bascule vers l'état demandé.
void gamestate_update (GameContext *ctx)
 Appelée chaque frame pour mettre à jour l'état courant.
void pauseListener (GameContext *ctx)
 Détecte si le menu pause doit être activé et si oui gêre sa logique. Cette fonction doit être appellée à chaque frame.
void pauseMenu (GameContext *ctx)
 Affiche et le menu de pause.
void gamestate_change_state (GameContext *ctx, StateID stateID)
 Demande une transition vers un autre état de jeu.

Variables

GameState state_menu_title
GameState state_menu_keybinds
GameState state_test
GameState state_moonlight
GameState state_menu_settings
GameState state_game_over
GameState state_victory

Description détaillée

Fonctions permettant de gêrer l'état du programme.

Documentation des définitions de type

◆ GameState

typedef struct GameState GameState

Un GameState représente un état du jeu. Chaque GameState dispose de 4 fonctions, passée par pointeurs:

  • init est appellée lorsque le programme bascule sur cet état
  • update est appellée à chaque frame
  • draw est appellée à chaque frame dans un beginDrawing() de raylib
  • cleanup est appellée lorsque le programme quitte cet état

◆ StateID

typedef enum StateID StateID

Les différents états du programme On trouve les menus, le stage, les différentes pages de texte.

Documentation du type de l'énumération

◆ StateID

enum StateID

Les différents états du programme On trouve les menus, le stage, les différentes pages de texte.

Valeurs énumérées
STATE_NONE 
__BEGIN_MENU__ 
STATE_MENU_TITLE 
STATE_MENU_SETTINGS 
STATE_MENU_KEYBINDS 
__END_MENU__ 
STATE_MOONLIGHT 
STATE_GAME_OVER 
STATE_VICTORY 
STATE_TEST 
STATE_EXTRA 

Documentation des fonctions

◆ gamestate_change_state()

void gamestate_change_state ( GameContext * ctx,
StateID stateID )
extern

Demande une transition vers un autre état de jeu.

Paramètres
ctxGameContext courant
stateIDIdentifiant de l'état cible.

◆ gamestate_initialize()

void gamestate_initialize ( GameContext * ctx,
StateID state )
extern

Initialise le système d'états et bascule vers l'état demandé.

Initialise les structures internes du GameContext puis effectue la transition vers state (appel de la fonction init associée à l'état).

Paramètres
ctxctx à initialiser
stateid de l'état initial à activer

◆ gamestate_update()

void gamestate_update ( GameContext * ctx)
extern

Appelée chaque frame pour mettre à jour l'état courant.

Appelle la fonction update du GameState actif et gère la transition d'état si nextStateID diffère de currentStateID.

Paramètres
ctxGameContext courant

◆ pauseListener()

void pauseListener ( GameContext * ctx)

Détecte si le menu pause doit être activé et si oui gêre sa logique. Cette fonction doit être appellée à chaque frame.

Paramètres
ctxGameContext courant

◆ pauseMenu()

void pauseMenu ( GameContext * ctx)

Affiche et le menu de pause.

Doit être appelé uniquement lorsque le jeu est en état de pause.

Paramètres
ctxGameContext courant

Documentation des variables

◆ state_game_over

GameState state_game_over
extern

◆ state_menu_keybinds

GameState state_menu_keybinds
extern

◆ state_menu_settings

GameState state_menu_settings
extern

◆ state_menu_title

GameState state_menu_title
extern

◆ state_moonlight

GameState state_moonlight
extern

◆ state_test

GameState state_test
extern

◆ state_victory

GameState state_victory
extern