@@ -173,7 +173,7 @@ protos::Self *StateGenerator::convertSelf(const rcsc::SelfObject &self, const rc
173173 res->set_stamina_capacity (static_cast <float >(self.staminaCapacity ()));
174174 res->set_card (convertCardType (self.card ()));
175175 res->set_catch_time (self.catchTime ().cycle ());
176-
176+ res-> set_effort ( static_cast < float >(self. effort ()));
177177 return res;
178178}
179179
@@ -236,6 +236,20 @@ protos::InterceptTable *StateGenerator::convertInterceptTable(const rcsc::Interc
236236 return res;
237237}
238238
239+ protos::PenaltyKickState *StateGenerator::convertPenaltyKickState (const rcsc::WorldModel &wm, const rcsc::PenaltyKickState *state)
240+ {
241+ auto res = new protos::PenaltyKickState ();
242+ res->set_on_field_side (convertSide (state->onfieldSide ()));
243+ res->set_current_taker_side (convertSide (state->currentTakerSide ()));
244+ res->set_our_taker_counter (state->ourTakerCounter ());
245+ res->set_their_taker_counter (state->theirTakerCounter ());
246+ res->set_our_score (state->ourScore ());
247+ res->set_their_score (state->theirScore ());
248+ res->set_is_kick_taker (state->isKickTaker (wm.ourSide (), wm.self ().unum ()));
249+
250+ return res;
251+ }
252+
239253/* *
240254 * Updates the player object with the given player information.
241255 *
@@ -514,6 +528,11 @@ protos::WorldModel *StateGenerator::convertWorldModel(const rcsc::WorldModel &wm
514528 res->set_their_defense_line_x (static_cast <float >(wm.theirDefenseLineX ()));
515529 res->set_our_defense_player_line_x (static_cast <float >(wm.ourDefensePlayerLineX ()));
516530 res->set_their_defense_player_line_x (static_cast <float >(wm.theirDefensePlayerLineX ()));
531+ if (wm.gameMode ().isPenaltyKickMode ())
532+ {
533+ res->set_allocated_penalty_kick_state (convertPenaltyKickState (wm, wm.penaltyKickState ()));
534+ }
535+ res->set_see_time (wm.seeTime ().cycle ());
517536 return res;
518537}
519538
@@ -559,4 +578,4 @@ protos::WorldModel *StateGenerator::convertCoachWorldModel(const rcsc::CoachWorl
559578 res->set_their_team_score (wm.ourSide () == rcsc::SideID::LEFT ? wm.gameMode ().scoreRight () : wm.gameMode ().scoreLeft ());
560579 res->set_is_penalty_kick_mode (wm.gameMode ().isPenaltyKickMode ());
561580 return res;
562- }
581+ }
0 commit comments