|
1 package org.hedgewars.hedgeroid.Datastructures; |
|
2 |
|
3 import java.util.ArrayList; |
|
4 import java.util.Collections; |
|
5 import java.util.List; |
|
6 |
|
7 public final class MetaScheme { |
|
8 public static final class Mod { |
|
9 public final String name; |
|
10 public final int bitmaskIndex; |
|
11 |
|
12 public Mod(String name, int bitmaskIndex) { |
|
13 this.name = name; |
|
14 this.bitmaskIndex = bitmaskIndex; |
|
15 } |
|
16 |
|
17 @Override |
|
18 public String toString() { |
|
19 return "MetaScheme$Mod [name=" + name + ", bitmaskIndex=" + bitmaskIndex + "]"; |
|
20 } |
|
21 } |
|
22 |
|
23 public static final class Setting { |
|
24 public final String name, engineCommand; |
|
25 public final boolean maxMeansInfinity, times1000; |
|
26 public final int min, max, def; |
|
27 |
|
28 public Setting(String name, String engineCommand, boolean maxMeansInfinity, boolean times1000, int min, int max, int def) { |
|
29 this.name = name; |
|
30 this.engineCommand = engineCommand; |
|
31 this.maxMeansInfinity = maxMeansInfinity; |
|
32 this.times1000 = times1000; |
|
33 this.min = min; |
|
34 this.max = max; |
|
35 this.def = def; |
|
36 } |
|
37 |
|
38 @Override |
|
39 public String toString() { |
|
40 return "MetaScheme$Setting [name=" + name + ", engineCommand=" + engineCommand |
|
41 + ", maxMeansInfinite=" + maxMeansInfinity + ", times1000=" |
|
42 + times1000 + ", min=" + min + ", max=" + max + ", def=" |
|
43 + def + "]"; |
|
44 } |
|
45 } |
|
46 |
|
47 public final List<Mod> mods; |
|
48 public final List<Setting> settings; |
|
49 |
|
50 public MetaScheme(List<Mod> mods, List<Setting> settings) { |
|
51 this.mods = Collections.unmodifiableList(new ArrayList<Mod>(mods)); |
|
52 this.settings = Collections.unmodifiableList(new ArrayList<Setting>(settings)); |
|
53 } |
|
54 |
|
55 @Override |
|
56 public String toString() { |
|
57 return "MetaScheme [\nmods=" + mods + ", \nsettings=" + settings + "\n]"; |
|
58 } |
|
59 } |