aboutsummaryrefslogtreecommitdiff
path: root/src/Java/binnie/craftgui/mod/database/ControlMutationItem.java
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-01-20 14:24:34 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-01-20 14:24:34 +1000
commit869c206c4fcc8001bd2e1d66f704290331813835 (patch)
tree96735ce8fe4665e2759c3374221d6f06f4527df2 /src/Java/binnie/craftgui/mod/database/ControlMutationItem.java
parentec2c72827f01dd4bb2174137f1ab162f9ddaab62 (diff)
downloadGT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.tar.gz
GT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.tar.bz2
GT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.zip
Initial Commit
Diffstat (limited to 'src/Java/binnie/craftgui/mod/database/ControlMutationItem.java')
-rw-r--r--src/Java/binnie/craftgui/mod/database/ControlMutationItem.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/Java/binnie/craftgui/mod/database/ControlMutationItem.java b/src/Java/binnie/craftgui/mod/database/ControlMutationItem.java
new file mode 100644
index 0000000000..630294e458
--- /dev/null
+++ b/src/Java/binnie/craftgui/mod/database/ControlMutationItem.java
@@ -0,0 +1,51 @@
+package binnie.craftgui.mod.database;
+
+import binnie.core.genetics.BreedingSystem;
+import binnie.craftgui.controls.listbox.ControlList;
+import binnie.craftgui.controls.listbox.ControlOption;
+import binnie.craftgui.minecraft.Window;
+import forestry.api.genetics.IAlleleSpecies;
+import forestry.api.genetics.IMutation;
+
+class ControlMutationItem
+ extends ControlOption<IMutation>
+{
+ private ControlDatabaseIndividualDisplay itemWidget1;
+ private ControlDatabaseIndividualDisplay itemWidget2;
+ private ControlDatabaseIndividualDisplay itemWidget3;
+ private ControlMutationSymbol addSymbol;
+ private ControlMutationSymbol arrowSymbol;
+
+ public ControlMutationItem(ControlList<IMutation> controlList, IMutation option, IAlleleSpecies species, int y)
+ {
+ super(controlList, option, y);
+ this.itemWidget1 = new ControlDatabaseIndividualDisplay(this, 4.0F, 4.0F);
+ this.itemWidget2 = new ControlDatabaseIndividualDisplay(this, 44.0F, 4.0F);
+ this.itemWidget3 = new ControlDatabaseIndividualDisplay(this, 104.0F, 4.0F);
+ this.addSymbol = new ControlMutationSymbol(this, 24, 4, 0);
+ this.arrowSymbol = new ControlMutationSymbol(this, 64, 4, 1);
+
+ boolean isNEI = ((WindowAbstractDatabase)getSuperParent()).isNEI();
+ BreedingSystem system = ((WindowAbstractDatabase)getSuperParent()).getBreedingSystem();
+ if (getValue() != null)
+ {
+ boolean isMutationDiscovered = system.isMutationDiscovered((IMutation)getValue(), Window.get(this).getWorld(), Window.get(this).getUsername());
+
+
+ IAlleleSpecies allele = null;
+ EnumDiscoveryState state = null;
+
+ allele = (IAlleleSpecies)((IMutation)getValue()).getAllele0();
+ state = species == allele ? EnumDiscoveryState.Show : (isNEI) || (isMutationDiscovered) ? EnumDiscoveryState.Show : EnumDiscoveryState.Undetermined;
+ this.itemWidget1.setSpecies(allele, state);
+ allele = (IAlleleSpecies)((IMutation)getValue()).getAllele1();
+ state = species == allele ? EnumDiscoveryState.Show : (isNEI) || (isMutationDiscovered) ? EnumDiscoveryState.Show : EnumDiscoveryState.Undetermined;
+ this.itemWidget2.setSpecies(allele, state);
+ allele = (IAlleleSpecies)((IMutation)getValue()).getTemplate()[0];
+ state = species == allele ? EnumDiscoveryState.Show : (isNEI) || (isMutationDiscovered) ? EnumDiscoveryState.Show : EnumDiscoveryState.Undetermined;
+ this.itemWidget3.setSpecies(allele, state);
+ this.addSymbol.setValue((IMutation)getValue());
+ this.arrowSymbol.setValue((IMutation)getValue());
+ }
+ }
+}