def METHOD_NAME(self, gameState: GameState, robot: RobotControlled2D):
    """
    Callback function for gamestate information from the webot's game controller
    :param gameState: Contains information about the game, whether it is playing or paused etc
    """
    if robot.robot_id == 1 and robot.team == Robot.Team.FRIENDLY:
        if (
            self.gameState.gameState != gameState.gameState
            or self.gameState.secondaryState != gameState.secondaryState
            or self.gameState.secondaryStateMode != gameState.secondaryStateMode
        ):
            self.gameState = gameState
            print(
                f"\033[92mGame State Changed: {GameEngine2DWithReferee.GAMESTATE_LOOKUP[gameState.gameState]}, Secondary State: {GameEngine2DWithReferee.SECONDARY_STATE_LOOKUP[gameState.secondaryState]}, Secondary State Mode: {GameEngine2DWithReferee.SECONDARY_STATE_MODE_LOOKUP[gameState.secondaryStateMode]}\033[0m"
            )
    if gameState.penalty != GameState.PENALTY_NONE:
        robot.status = Robot.Status.PENALIZED
    elif robot.status in [Robot.Status.DISCONNECTED, Robot.Status.PENALIZED]:
        robot.status = Robot.Status.DETERMINING_SIDE
    self.individual_robot_gamestates[robot] = gameState