Skip to content

Commit ac4da8f

Browse files
authored
Merge pull request #2 from leedave/feature/color_guess_dev2
Feature/color guess dev2
2 parents 66e9376 + f58d2e1 commit ac4da8f

9 files changed

+235
-38
lines changed

Games/color_guess/application.fam

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ App(
1111
order=10,
1212
fap_icon="color_guess_10px.png",
1313
fap_icon_assets="icons",
14-
fap_category="Games",
14+
fap_category="Leed\Games",
1515
)

Games/color_guess/color_guess.c

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include "color_guess.h"
2+
#include "digits.h"
23

34
bool color_guess_custom_event_callback(void* context, uint32_t event) {
45
furi_assert(context);
@@ -21,9 +22,15 @@ bool color_guess_navigation_event_callback(void* context) {
2122

2223
ColorGuess* color_guess_app_alloc() {
2324
ColorGuess* app = malloc(sizeof(ColorGuess));
25+
//app->event_queue = furi_message_queue_alloc(8, sizeof(PluginEvent));
2426
app->gui = furi_record_open(RECORD_GUI);
2527
app->notification = furi_record_open(RECORD_NOTIFICATION);
28+
//app->plugin_state = malloc(sizeof(PluginState));
29+
//app->view_port = view_port_alloc();
2630
app->error = false;
31+
32+
NotificationApp* notification = furi_record_open(RECORD_NOTIFICATION);
33+
notification_message(notification, &sequence_display_backlight_on);
2734

2835
//Scene additions
2936
app->view_dispatcher = view_dispatcher_alloc();
@@ -43,7 +50,7 @@ ColorGuess* color_guess_app_alloc() {
4350
view_dispatcher_add_view(app->view_dispatcher, ColorGuessViewIdPlay, color_guess_play_get_view(app->color_guess_play));
4451

4552
//End Scene Additions
46-
53+
4754
return app;
4855
}
4956

@@ -68,6 +75,7 @@ void color_guess_app_free(ColorGuess* app) {
6875
app->view_port = NULL;
6976

7077
app->gui = NULL;
78+
//furi_record_close(RECORD_NOTIFICATION);
7179
app->notification = NULL;
7280

7381
//Remove whatever is left
@@ -85,9 +93,9 @@ int32_t color_guess_app(void* p) {
8593
color_guess_app_free(app);
8694
return 1;
8795
}
88-
96+
8997
view_dispatcher_attach_to_gui(app->view_dispatcher, app->gui, ViewDispatcherTypeFullscreen);
90-
98+
9199
scene_manager_next_scene(app->scene_manager, ColorGuessSceneStart);
92100

93101
furi_hal_power_suppress_charge_enter();

Games/color_guess/digits.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#pragma once
1+
//#pragma once
22

33
#include <stdint.h>
44
#include "color_guess_icons.h"

Games/color_guess/helpers/color_guess_custom_event.h

+6
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,10 @@ typedef enum {
77
ColorGuessCustomEventColorSetRight,
88
ColorGuessCustomEventColorSetOk,
99
ColorGuessCustomEventColorSetBack,
10+
ColorGuessCustomEventPlayUp,
11+
ColorGuessCustomEventPlayDown,
12+
ColorGuessCustomEventPlayLeft,
13+
ColorGuessCustomEventPlayRight,
14+
ColorGuessCustomEventPlayOk,
15+
ColorGuessCustomEventPlayBack,
1016
} ColorGuessCustomEvent;

Games/color_guess/scenes/color_guess_scene_color_set.c

-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ void color_guess_scene_color_set_on_enter(void* context) {
1717

1818
bool color_guess_scene_color_set_on_event(void* context, SceneManagerEvent event) {
1919
ColorGuess* app = context;
20-
UNUSED(app);
2120
bool consumed = false;
2221

2322
if(event.type == SceneManagerEventTypeCustom) {
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,50 @@
11
#include "../color_guess.h"
2+
#include "../helpers/color_guess_custom_event.h"
3+
#include "../views/color_guess_play.h"
4+
5+
void color_guess_play_callback(ColorGuessCustomEvent event, void* context) {
6+
furi_assert(context);
7+
ColorGuess* app = context;
8+
view_dispatcher_send_custom_event(app->view_dispatcher, event);
9+
}
210

311
void color_guess_scene_play_on_enter(void* context) {
12+
furi_assert(context);
413
ColorGuess* app = context;
5-
//UNUSED(app);
14+
color_guess_play_set_callback(app->color_guess_play, color_guess_play_callback, app);
615
view_dispatcher_switch_to_view(app->view_dispatcher, ColorGuessViewIdPlay);
716
}
817

918
bool color_guess_scene_play_on_event(void* context, SceneManagerEvent event) {
10-
UNUSED(context);
11-
UNUSED(event);
12-
return false;
19+
ColorGuess* app = context;
20+
bool consumed = false;
21+
22+
if(event.type == SceneManagerEventTypeCustom) {
23+
switch(event.event) {
24+
case ColorGuessCustomEventPlayLeft:
25+
case ColorGuessCustomEventPlayRight:
26+
break;
27+
case ColorGuessCustomEventPlayUp:
28+
case ColorGuessCustomEventPlayDown:
29+
break;
30+
case ColorGuessCustomEventPlayBack:
31+
notification_message(app->notification, &sequence_reset_red);
32+
notification_message(app->notification, &sequence_reset_green);
33+
notification_message(app->notification, &sequence_reset_blue);
34+
if(!scene_manager_search_and_switch_to_previous_scene(
35+
app->scene_manager, ColorGuessSceneStart)) {
36+
scene_manager_stop(app->scene_manager);
37+
view_dispatcher_stop(app->view_dispatcher);
38+
}
39+
consumed = true;
40+
break;
41+
}
42+
}
43+
44+
return consumed;
1345
}
1446

1547
void color_guess_scene_play_on_exit(void* context) {
16-
UNUSED(context);
17-
48+
ColorGuess* app = context;
49+
UNUSED(app);
1850
}

Games/color_guess/views/color_guess_color_set.c

+3-12
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
#include "../color_guess.h"
22
#include "color_guess_icons.h"
3-
#include "../digits.h"
43
#include <furi.h>
54
#include <furi_hal.h>
65
#include <input/input.h>
76
#include <gui/elements.h>
87
#include <dolphin/dolphin.h>
98

9+
extern const Icon* digits[17];
10+
1011
struct ColorGuessColorSet {
1112
View* view;
1213
ColorGuessColorSetCallback callback;
@@ -17,9 +18,6 @@ typedef struct {
1718
ColorGuessColorSetStatus status;
1819
int cursorpos;
1920
int digit[6];
20-
int red;
21-
int green;
22-
int blue;
2321
} ColorGuessColorSetModel;
2422

2523
void color_guess_color_set_set_callback(
@@ -33,7 +31,6 @@ void color_guess_color_set_set_callback(
3331
}
3432

3533
void color_guess_color_set_draw(Canvas* canvas, ColorGuessColorSetModel* model) {
36-
//UNUSED(model);
3734
const int cursorOffset = 30;
3835
const int newCursorPos = (model->cursorpos * 12) + cursorOffset;
3936

@@ -57,12 +54,9 @@ void color_guess_color_set_draw(Canvas* canvas, ColorGuessColorSetModel* model)
5754

5855
static void color_guess_color_set_model_init(ColorGuessColorSetModel* const model) {
5956
model->cursorpos = 0;
60-
model->red = 0;
6157
for (int i = 0;i < 6; i++) {
6258
model->digit[i] = 0;
6359
}
64-
model->green = 0;
65-
model->blue = 0;
6660
}
6761

6862
void color_guess_color_set_set_led(void* context, ColorGuessColorSetModel* model) {
@@ -113,7 +107,6 @@ bool color_guess_color_set_input(InputEvent* event, void* context) {
113107
{
114108
model->cursorpos = 5;
115109
}
116-
117110
},
118111
true);
119112
break;
@@ -163,9 +156,7 @@ bool color_guess_color_set_input(InputEvent* event, void* context) {
163156
break;
164157
}
165158
}
166-
//ColorGuessColorSet* instance = context;
167-
168-
159+
169160
return true;
170161
}
171162

0 commit comments

Comments
 (0)