00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef PLAYERSETUP_H
00023 #define PLAYERSETUP_H
00024
00025 #include <pgscrollwidget.h>
00026 #include "../gamemap.h"
00027 #include "../paradialog.h"
00028
00029 class PlayerSetupWidget : public PG_ScrollWidget {
00030 GameMap* actmap;
00031 static const int spacing = 40;
00032 static const int yoffset = 20;
00033
00034 struct PlayerWidgets {
00035 PG_LineEdit* name;
00036 PG_DropDown* type;
00037 int pos;
00038 };
00039
00040
00041 vector<PlayerWidgets> playerWidgets;
00042 public:
00043 enum Mode{ AllEditable, AllEditableSinglePlayer, SelfEditable };
00044 PlayerSetupWidget( GameMap* gamemap, Mode mode, PG_Widget *parent, const PG_Rect &r, const std::string &style="ScrollWidget" );
00045 bool Valid();
00046 bool Apply();
00047
00048 static int guessHeight( GameMap* gamemap );
00049
00050 private:
00051 Mode mode;
00052 };
00053
00054 extern void setupPlayers( GameMap* actmap, bool supervisor = false );
00055
00056
00057 #endif
00058