@@ -14,7 +14,7 @@ type BallPlacementPosDeterminer struct {
14
14
OnPositiveHalf map [state.Team ]bool
15
15
}
16
16
17
- // BallPlacementPos determines the ball placement position based on the primary game event
17
+ // Location determines the ball placement position based on the game event type
18
18
func (s * BallPlacementPosDeterminer ) Location () * geom.Vector2 {
19
19
switch * s .Event .Type {
20
20
case state .GameEvent_BALL_LEFT_FIELD_TOUCH_LINE :
@@ -47,25 +47,25 @@ func (s *BallPlacementPosDeterminer) Location() *geom.Vector2 {
47
47
center := geom .NewVector2 (0.0 , 0.0 )
48
48
return s .validateLocation (center )
49
49
case state .GameEvent_BOT_TIPPED_OVER :
50
- return s .validateLocation (s .Event .GetBotTippedOver ().Location )
50
+ return s .validateLocation (s .Event .GetBotTippedOver ().BallLocation )
51
51
case state .GameEvent_BOT_INTERFERED_PLACEMENT :
52
52
return s .validateLocation (s .CurrentPlacementPos )
53
53
case state .GameEvent_BOT_KICKED_BALL_TOO_FAST :
54
54
return s .validateLocation (s .Event .GetBotKickedBallTooFast ().Location )
55
55
case state .GameEvent_BOT_DRIBBLED_BALL_TOO_FAR :
56
56
return s .validateLocation (s .Event .GetBotDribbledBallTooFar ().Start )
57
- case state .GameEvent_BOT_CRASH_UNIQUE :
58
- return s .validateLocation (s .Event .GetBotCrashUnique ().Location )
59
57
case state .GameEvent_BOT_PUSHED_BOT :
60
58
return s .validateLocation (s .Event .GetBotPushedBot ().Location )
61
59
case state .GameEvent_BOT_HELD_BALL_DELIBERATELY :
62
60
return s .validateLocation (s .Event .GetBotHeldBallDeliberately ().Location )
63
61
case state .GameEvent_ATTACKER_DOUBLE_TOUCHED_BALL :
64
62
return s .validateLocation (s .Event .GetAttackerDoubleTouchedBall ().Location )
65
63
case state .GameEvent_ATTACKER_TOO_CLOSE_TO_DEFENSE_AREA :
66
- return s .validateLocation (s .Event .GetAttackerTooCloseToDefenseArea ().Location )
64
+ return s .validateLocation (s .Event .GetAttackerTooCloseToDefenseArea ().BallLocation )
67
65
case state .GameEvent_ATTACKER_TOUCHED_BALL_IN_DEFENSE_AREA :
68
66
return s .validateLocation (s .Event .GetAttackerTouchedBallInDefenseArea ().Location )
67
+ case state .GameEvent_BOUNDARY_CROSSING :
68
+ return s .validateLocation (s .Event .GetBoundaryCrossing ().Location )
69
69
case state .GameEvent_DEFENDER_TOO_CLOSE_TO_KICK_POINT :
70
70
return s .validateLocation (s .CurrentPlacementPos )
71
71
case state .GameEvent_DEFENDER_IN_DEFENSE_AREA , state .GameEvent_MULTIPLE_CARDS :
0 commit comments