1 package cz.cuni.amis.pogamut.ut2004.tournament;
2
3 import java.io.File;
4 import java.io.InputStream;
5 import java.net.URISyntaxException;
6
7 import cz.cuni.amis.utils.IniFile;
8 import cz.cuni.amis.utils.exception.PogamutException;
9
10
11
12
13
14
15
16
17
18
19 public class GameBots2004Ini extends IniFile {
20
21
22
23
24
25 public static final String Section_GameBots2004_BotConnection = "GameBots2004.BotConnection";
26 public static final String Section_GameBots2004_RemoteBot = "GameBots2004.RemoteBot";
27 public static final String Section_GameBots2004_GBHUD = "GameBots2004.GBHUD";
28 public static final String Section_GameBots2004_ControlConnection = "GameBots2004.ControlConnection";
29 public static final String Section_GameBots2004_ControlServer = "GameBots2004.ControlServer";
30 public static final String Section_GameBots2004_BotScenario = "GameBots2004.BotScenario";
31 public static final String Section_GameBots2004_BotDeathMatch = "GameBots2004.BotDeathMatch";
32 public static final String Section_GameBots2004_BotTeamGame = "GameBots2004.BotTeamGame";
33 public static final String Section_GameBots2004_BotCTFGame = "GameBots2004.BotCTFGame";
34 public static final String Section_GameBots2004_BotDoubleDomination = "GameBots2004.BotDoubleDomination";
35 public static final String Section_Engine_GameInfo = "Engine.GameInfo";
36 public static final String Section_UnrealGame_UnrealMPGameInfo = "UnrealGame.UnrealMPGameInfo";
37 public static final String Section_UnrealGame_DeathMatch = "UnrealGame.DeathMatch";
38 public static final String Section_GameBots2004_GBScenarioMutator = "GameBots2004.GBScenarioMutator";
39
40
41
42
43
44 public static final String Key_DM_TimeLimit = "TimeLimit";
45 public static final String Key_DM_FragLimit = "GoalScore";
46
47 public static final String Key_CTF_TimeLimit = "TimeLimit";
48 public static final String Key_CTF_ScoreLimit = "GoalScore";
49
50 public static final String Key_CC_UpdateTime = "UpdateTime";
51
52
53
54
55 public GameBots2004Ini() {
56 InputStream defaults = GameBots2004Ini.class.getResourceAsStream("/cz/cuni/amis/pogamut/ut2004/tournament/deathmatch/GameBots2004-Deathmatch.ini");
57 load(defaults);
58 }
59
60
61
62
63
64
65 public GameBots2004Ini(File source) {
66 if (!source.exists()) {
67 throw new PogamutException("File with defaults for GameBots2004.ini does not exist at: " + source.getAbsolutePath() + ".", this);
68 }
69 load(source);
70 }
71
72 public GameBots2004Ini(GameBots2004Ini gb2004Ini) {
73 super(gb2004Ini);
74 }
75
76
77
78
79
80 public Integer getDMTimeLimit() {
81 String value = get(Section_GameBots2004_BotDeathMatch, Key_DM_TimeLimit);
82 if (value == null) return null;
83 return Integer.parseInt(value);
84 }
85
86
87
88
89
90
91 public void setDMTimeLimit(int timeLimitInMin) {
92 set(Section_GameBots2004_BotDeathMatch, Key_DM_TimeLimit, String.valueOf(timeLimitInMin));
93 }
94
95
96
97
98
99 public Integer getDMFragLimit() {
100 String value = get(Section_GameBots2004_BotDeathMatch, Key_DM_FragLimit);
101 if (value == null) return null;
102 return Integer.parseInt(value);
103 }
104
105
106
107
108
109 public void setDMFragLimit(int fragLimit) {
110 set(Section_GameBots2004_BotDeathMatch, Key_DM_FragLimit, String.valueOf(fragLimit));
111 }
112
113
114
115
116
117 public Integer getCTFTimeLimit() {
118 String value = get(Section_GameBots2004_BotCTFGame, Key_CTF_TimeLimit);
119 if (value == null) return null;
120 return Integer.parseInt(value);
121 }
122
123
124
125
126
127
128 public void setCTFTimeLimit(int timeLimitInMin) {
129 set(Section_GameBots2004_BotCTFGame, Key_CTF_TimeLimit, String.valueOf(timeLimitInMin));
130 }
131
132
133
134
135
136 public Integer getCTFScoreLimit() {
137 String value = get(Section_GameBots2004_BotCTFGame, Key_CTF_ScoreLimit);
138 if (value == null) return null;
139 return Integer.parseInt(value);
140 }
141
142
143
144
145
146 public void setCTFScoreLimit(int scoreLimit) {
147 set(Section_GameBots2004_BotCTFGame, Key_CTF_ScoreLimit, String.valueOf(scoreLimit));
148 }
149
150
151
152
153
154 public Double getControlConnectionUpdateTime() {
155 String value = get(Section_GameBots2004_BotCTFGame, Key_CTF_ScoreLimit);
156 if (value == null) return null;
157 return Double.parseDouble(value);
158 }
159
160
161
162
163
164 public void setControlConnectionUpdateTime(double timeInSeconds) {
165 set(Section_GameBots2004_ControlConnection, Key_CC_UpdateTime, String.valueOf(timeInSeconds));
166 }
167
168 }