From 2b31cc45e1284cda106f3adb6c02255350fc87f1 Mon Sep 17 00:00:00 2001 From: Joe Kearney Date: Mon, 21 Jul 2025 19:02:27 -0500 Subject: [PATCH] Added more event transitions to facilitate testing. --- States/Playing/State_Playing__Interacting.c | 16 ++++++++++++++++ States/Playing/State_Playing__Tagged_Out.c | 3 ++- States/State_Wrapping_Up.c | 4 ++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/States/Playing/State_Playing__Interacting.c b/States/Playing/State_Playing__Interacting.c index 69254aa..767d644 100644 --- a/States/Playing/State_Playing__Interacting.c +++ b/States/Playing/State_Playing__Interacting.c @@ -406,6 +406,7 @@ static void Playing__Interacting_Do(StateMachineContext_T * context) } break; + case KEVENT_PLAY_PRESSED_ON_REMOTE: case KEVENT_GAME_OVER: { AudioAction_T audio_action = {.ID = AUDIO_PLAY_GAME_OVER, .Play_To_Completion = true}; @@ -413,6 +414,21 @@ static void Playing__Interacting_Do(StateMachineContext_T * context) Transition_For_Event(context, STATE_WRAPPING_UP, &Event); } break; + + case KEVENT_MENU_UP: + { +#ifdef LOG_INTERACTING_SUBSTATE + KLOG_INFO(KLOG_TAG, "Simulating a tag leading to being tagged out."); +#endif // LOG_INTERACTING_SUBSTATE + Reduce_Health(Get_Max_Health()); + + AudioAction_T audio_action = {.ID = AUDIO_PLAY_TAG_RECEIVED, .Data = (void *)0x00}; + Perform_Audio_Action(&audio_action); + + NeoPixelsAction_T neopixels_action = {.ID = NEOPIXELS_TAG_RECEIVED, .Prominence = NEOPIXELS_FOREGROUND, .Data = (void *)&ReceivedTagColor}; + xQueueSend(xQueueNeoPixels, &neopixels_action, 0); + } + break; default: // All other events are ignored in this state. diff --git a/States/Playing/State_Playing__Tagged_Out.c b/States/Playing/State_Playing__Tagged_Out.c index 58e50ed..9a4bf3f 100644 --- a/States/Playing/State_Playing__Tagged_Out.c +++ b/States/Playing/State_Playing__Tagged_Out.c @@ -185,6 +185,7 @@ static void Playing__Tagged_Out_Do(StateMachineContext_T * context) } break; + case KEVENT_PLAY_PRESSED_ON_REMOTE: case KEVENT_GAME_OVER: { AudioAction_T audio_action = {.ID = AUDIO_PLAY_GAME_OVER, .Play_To_Completion = true}; @@ -193,7 +194,7 @@ static void Playing__Tagged_Out_Do(StateMachineContext_T * context) } break; - case KEVENT_PLAY_PRESSED_ON_REMOTE: + case KEVENT_MENU_DOWN: Set_Health(Get_Max_Health()); Reset_Bombs(); Transition_For_Event(context, STATE_PLAYING__INTERACTING, &Event); diff --git a/States/State_Wrapping_Up.c b/States/State_Wrapping_Up.c index fc915b3..01fb238 100644 --- a/States/State_Wrapping_Up.c +++ b/States/State_Wrapping_Up.c @@ -118,6 +118,10 @@ static void Wrapping_Up_Do(StateMachineContext_T * context) BLE_FreePacketBuffer(Event.Data); } break; + + case KEVENT_PLAY_PRESSED_ON_REMOTE: + Transition_For_Event(context, STATE_CONFIGURING, &Event); + break; default: // All other events are ignored in this state.