-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsuassuna.h
93 lines (77 loc) · 2.46 KB
/
suassuna.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/***
* Maracatronics Robotics
* Federal University of Pernambuco (UFPE) at Recife
* http://www.maracatronics.com/
*
* This file is part of Armorial project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef SUASSUNA_H
#define SUASSUNA_H
#include <QHostAddress>
#include <GEARSystem/gearsystem.hh>
#include <utils/basics/color.hh>
#include <utils/basics/competition.hh>
#include <entity/referee/SSLReferee/sslreferee.h>
#include <utils/fieldside/fieldside.hh>
#include <utils/fields/wrfields.hh>
#include <entity/world/world.h>
#include <entity/contromodule/mrcteam.h>
#include <entity/player/sslplayer/sslplayer.h>
#include <entity/contromodule/coach.h>
#include <entity/coachview/coachview.h>
#include <entity/ballprediction/ballprediction.h>
#include <entity/ballsensor/ballsensor.h>
class Suassuna
{
public:
Suassuna(quint8 teamId, Colors::Color teamColor, FieldSide fieldSide, bool enableGui, MRCConstants *mrcconstants);
~Suassuna();
// Start
bool start();
void stop();
// Configuration
void setServerAddress(QString ipAddress, int port);
private:
// Internal methods
bool connectToServer();
void setupTeams(quint8 opTeamId, Colors::Color opTeamColor, FieldSide opFieldSide);
void setupOurPlayers();
void setupOppPlayers(quint8 opTeamId);
MRCConstants *getConstants();
// Server connection
QString _serverAddress;
int _serverPort;
// Internal
const quint8 _teamId;
Controller *_ctr;
const Colors::Color _teamColor;
const FieldSide _fieldSide;
const bool _enableGui;
Fields::Field* _defaultField;
MRCConstants *_mrcconstants;
// Modules
World *_world;
SSLReferee *_ref;
Coach *_coach;
BallPrediction *_ballPred;
BallSensor *_ballSensor;
// Times
MRCTeam *_ourTeam;
MRCTeam *_theirTeam;
// GUI
CoachView *_ourGUI;
};
#endif // SUASSUNA_H