private void setupVariants() { ConfigNode node = getPartConfigNode(); if (node == null) { return; } loadVariantConfigs(node); if (variants.Count == 0) { return; } UI_VariantSelector variantSelector = getVariantSelector(); variantSelector.onFieldChanged += new Callback <BaseField, object>(this.onVariantChanged); // Setup variant list variantSelector.variants = new List <PartVariant>(); int count = variants.Count; for (int index = 0; index < count; index++) { variantSelector.variants.Add(variants[index].getPartVariant()); } }
private UI_VariantSelector getVariantSelector() { UI_VariantSelector variantSelector = null; int count = Fields.Count; string fieldNames = string.Empty; for (int index = 0; index < count; index++) { fieldNames += Fields[index].name + ";"; } // Setup variant selector if (HighLogic.LoadedSceneIsFlight) { variantSelector = Fields["variantIndex"].uiControlFlight as UI_VariantSelector; } else //if (HighLogic.LoadedSceneIsEditor) { variantSelector = Fields["variantIndex"].uiControlEditor as UI_VariantSelector; } return(variantSelector); }
void setupTankSelector() { UI_VariantSelector variantSelector = null; int count = Fields.Count; string fieldNames = string.Empty; for (int index = 0; index < count; index++) { fieldNames += Fields[index].name + ";"; } // Setup variant selector if (HighLogic.LoadedSceneIsFlight) { variantSelector = this.Fields["tankTypeIndex"].uiControlFlight as UI_VariantSelector; } else //if (HighLogic.LoadedSceneIsEditor) { variantSelector = this.Fields["tankTypeIndex"].uiControlEditor as UI_VariantSelector; } variantSelector.onFieldChanged += new Callback <BaseField, object>(this.onVariantChanged); // Setup variant list variantSelector.variants = new List <PartVariant>(); PartVariant variant = new PartVariant(BallastTankTypes.Ballast.ToString(), Localizer.Format("#LOC_SUNKWORKS_tankTypeBallast"), null); variant.PrimaryColor = "#ffffff"; variant.SecondaryColor = "#000000"; variantSelector.variants.Add(variant); variant = new PartVariant(BallastTankTypes.ForwardTrim.ToString(), Localizer.Format("#LOC_SUNKWORKS_tankTypeForwardTrim"), null); variant.PrimaryColor = "#ffffff"; variant.SecondaryColor = "#ffffff"; variantSelector.variants.Add(variant); variant = new PartVariant(BallastTankTypes.ForwardPort.ToString(), Localizer.Format("#LOC_SUNKWORKS_tankTypeFwdPort"), null); variant.PrimaryColor = "#ffffff"; variant.SecondaryColor = "#ff0000"; variantSelector.variants.Add(variant); variant = new PartVariant(BallastTankTypes.ForwardStarboard.ToString(), Localizer.Format("#LOC_SUNKWORKS_tankTypeFwdStarboard"), null); variant.PrimaryColor = "#ffffff"; variant.SecondaryColor = "#00ff00"; variantSelector.variants.Add(variant); variant = new PartVariant(BallastTankTypes.PortTrim.ToString(), Localizer.Format("#LOC_SUNKWORKS_tankTypePortTrim"), null); variant.PrimaryColor = "#ff0000"; variant.SecondaryColor = "#ff0000"; variantSelector.variants.Add(variant); variant = new PartVariant(BallastTankTypes.StarboardTrim.ToString(), Localizer.Format("#LOC_SUNKWORKS_tankTypeStarboardTrim"), null); variant.PrimaryColor = "#00ff00"; variant.SecondaryColor = "#00ff00"; variantSelector.variants.Add(variant); variant = new PartVariant(BallastTankTypes.AftTrim.ToString(), Localizer.Format("#LOC_SUNKWORKS_tankTypeAftTrim"), null); variant.PrimaryColor = "#000000"; variant.SecondaryColor = "#000000"; variantSelector.variants.Add(variant); variant = new PartVariant(BallastTankTypes.AftPort.ToString(), Localizer.Format("#LOC_SUNKWORKS_tankTypeAftPort"), null); variant.PrimaryColor = "#000000"; variant.SecondaryColor = "#ff0000"; variantSelector.variants.Add(variant); variant = new PartVariant(BallastTankTypes.AftStarboard.ToString(), Localizer.Format("#LOC_SUNKWORKS_tankTypeAftStarboard"), null); variant.PrimaryColor = "#ffffff"; variant.SecondaryColor = "#00ff00"; variantSelector.variants.Add(variant); }