#ifndef _HF_DIALOG_ #define _HF_DIALOG_ typedef struct DialogOption DialogOption; typedef struct Dialog Dialog; #include "game.h" #define DIALOG_OUTER_RECTANGLE (Rectangle) { 200, 200, 1000, 500 } #define DIALOG_INNER_RECTANGLE (Rectangle) { 220, 220, 960, 460 } #define DIALOG_TEXT_FONT_SIZE 60 #define DIALOG_OPTION_FONT_SIZE 30 struct DialogOption { char *text; Color color; void (*handle) (Game *g); }; struct Dialog { char *text[8]; int text_count; Color text_color; DialogOption options[4]; int options_count; Game *game; }; void init_dialogs(Game *g); void cancel_dialog(Game *g); void shoubu_dialog(Game *g); void no_dekiyaku_end_of_round_dialog(Game *g); void end_of_game_dialog(Game *g); void dekiyaku_end_of_round_dialog(Game *g); void teyaku_dialog(Game *g); void dialog_draw(Dialog *d); void dialog_handle_input(Dialog *d); #endif