diff options
| author | Draknyte1 <Draknyte1@hotmail.com> | 2016-01-20 14:24:34 +1000 |
|---|---|---|
| committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-01-20 14:24:34 +1000 |
| commit | 869c206c4fcc8001bd2e1d66f704290331813835 (patch) | |
| tree | 96735ce8fe4665e2759c3374221d6f06f4527df2 /src/Java/binnie/craftgui/mod/database/ControlMutationItem.java | |
| parent | ec2c72827f01dd4bb2174137f1ab162f9ddaab62 (diff) | |
| download | GT5-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.java | 51 |
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()); + } + } +} |
