From 869c206c4fcc8001bd2e1d66f704290331813835 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Wed, 20 Jan 2016 14:24:34 +1000 Subject: Initial Commit --- .../craftgui/mod/database/ControlMutationItem.java | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/Java/binnie/craftgui/mod/database/ControlMutationItem.java (limited to 'src/Java/binnie/craftgui/mod/database/ControlMutationItem.java') 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 +{ + private ControlDatabaseIndividualDisplay itemWidget1; + private ControlDatabaseIndividualDisplay itemWidget2; + private ControlDatabaseIndividualDisplay itemWidget3; + private ControlMutationSymbol addSymbol; + private ControlMutationSymbol arrowSymbol; + + public ControlMutationItem(ControlList 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()); + } + } +} -- cgit