35 lines
		
	
	
		
			694 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			694 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #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;
 | |
|   Color text_color;
 | |
|   DialogOption options[3];
 | |
|   int options_count;
 | |
|   Game *game;
 | |
| };
 | |
| 
 | |
| void init_dialogs(Game *g);
 | |
| void cancel_dialog(Game *g);
 | |
| void shoubu_dialog(Game *g);
 | |
| void dialog_draw(Dialog *d);
 | |
| void dialog_handle_input(Dialog *d);
 | |
| 
 | |
| #endif
 |