00001 00002 /*************************************************************************** 00003 * state_handler.h - Fawkes RefBox State Handler Pure Virtual Class 00004 * 00005 * Created: Sun Apr 19 17:17:13 2009 (German Open 2009) 00006 * Copyright 2009 Tim Niemueller [www.niemueller.de] 00007 * 00008 ****************************************************************************/ 00009 00010 /* This program is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2 of the License, or 00013 * (at your option) any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU Library General Public License for more details. 00019 * 00020 * Read the full text in the LICENSE.GPL file in the doc directory. 00021 */ 00022 00023 #ifndef __PLUGINS_REFBOXCOMM_STATE_HANDLER_H_ 00024 #define __PLUGINS_REFBOXCOMM_STATE_HANDLER_H_ 00025 00026 #include <netcomm/worldinfo/enums.h> 00027 00028 class RefBoxStateHandler 00029 { 00030 public: 00031 virtual ~RefBoxStateHandler(); 00032 00033 virtual void set_gamestate(int game_state, 00034 fawkes::worldinfo_gamestate_team_t state_team) = 0; 00035 virtual void set_score(unsigned int score_cyan, unsigned int score_magenta) = 0; 00036 virtual void set_team_goal(fawkes::worldinfo_gamestate_team_t our_team, 00037 fawkes::worldinfo_gamestate_goalcolor_t goal_color) = 0; 00038 virtual void set_half(fawkes::worldinfo_gamestate_half_t half, 00039 bool kickoff = false) = 0; 00040 virtual void add_penalty(unsigned int penalty, 00041 unsigned int seconds_remaining) = 0; 00042 00043 00044 virtual void handle_refbox_state() = 0; 00045 00046 }; 00047 00048 #endif