unleashed-firmware/applications/dolphin/dolphin_i.h
あく 73ecc7cde6
Rename Irukagotchi to Dolphin. Add basic game state structures. (#268)
* Rename Irukagotchi to Dolphin. Add basic game state structures.
* Dolphin: state, counters, api. BT: shared access to flash. Flash: write api.
* add fake -1 deeds, example of changing icounter

Co-authored-by: coreglitch <mail@s3f.ru>
2020-12-19 02:15:29 +06:00

51 lines
1 KiB
C

#pragma once
#include "dolphin.h"
#include "dolphin_state.h"
#include <flipper_v2.h>
#include <gui/gui.h>
#include <gui/widget.h>
#include <gui/canvas.h>
#include <menu/menu.h>
#include <assets_icons.h>
#include <stdint.h>
typedef enum {
DolphinEventTypeDeed,
} DolphinEventType;
typedef struct {
DolphinEventType type;
union {
DolphinDeed deed;
};
} DolphinEvent;
typedef enum {
DolphinScreenDebug,
DolphinScreenIdle,
DolphinScreenStats,
} DolphinScreen;
struct Dolphin {
Icon* icon;
Widget* widget;
ValueMutex* menu_vm;
// State
DolphinState* state;
DolphinScreen screen;
// Internal message queue
osMessageQueueId_t event_queue;
};
void dolphin_draw_callback(Canvas* canvas, void* context);
void dolphin_draw_idle(Canvas* canvas, Dolphin* dolphin);
void dolphin_draw_debug(Canvas* canvas, Dolphin* dolphin);
void dolphin_draw_stats(Canvas* canvas, Dolphin* dolphin);
void dolphin_input_callback(InputEvent* event, void* context);
Dolphin* dolphin_alloc();