Esempio n. 1
0
        private void DrawVariant(IBuildVariant buildVariant, int indentLevel)
        {
            EditorGUILayout.BeginHorizontal();
            GUILayout.Space(indentLevel * 16.0f + 8.0f);
            var isVariantInActiveCollection = _buildInfoController.IsBuildVariantInActiveCollection(buildVariant);
            var newToggleValue = EditorGUILayout.Toggle("", isVariantInActiveCollection, GUILayout.Width(20));

            if (newToggleValue != isVariantInActiveCollection)
            {
                _buildInfoController.ToggleBuildVariantInActiveCollection(buildVariant, newToggleValue);
            }
            var isVariantActive   = buildVariant.Guid == _buildInfoController.BuildInfo.ActiveVariantGuid;
            var isVariantSelected = buildVariant.Guid == _buildInfoController.BuildInfo.SelectedVariantGuid;

            if (GUILayout.Button(buildVariant.VariantName + (isVariantActive ? " (Active)" : ""),
                                 isVariantSelected ? _selectedConfigurationStyle : _configurationStyle))
            {
                _buildInfoController.SelectBuildVariant(buildVariant);
            }
            GUILayout.FlexibleSpace();
            var icon = _buildTargetIcons.GetIconForBuildTarget(buildVariant.BuildTarget);

            GUILayout.Label(icon != null ? EditorGUIUtility.IconContent(icon) : new GUIContent(""),
                            _platformIconStyle);
            EditorGUILayout.EndHorizontal();

            DrawVariants(buildVariant, indentLevel + 1);
        }
        public void CreateVariant(IBuildVariant parentBuildVariant = null)
        {
            var variant = new BuildVariant {
                VariantName = "New variant",
                Guid        = System.Guid.NewGuid().ToString()
            };

            SetVariantParent(variant, parentBuildVariant == null ? "" : parentBuildVariant.Guid);
            _buildInfoController.ActivateBuildVariant(variant);
            _buildInfoController.SelectBuildVariant(variant);
            _buildVariants.Add(variant);

            SaveVariant(variant);
        }