Beispiel #1
0
        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());
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }