internal BuildConfiguration Copy() { var copy = new BuildConfiguration(); copy.Name = Name + " Copy"; foreach (var scene in DefaultScenes) { copy.DefaultScenes.Add(scene); } foreach (var platformsConfiguration in Platforms) { var p = new PlatformsConfiguration(); foreach (var target in platformsConfiguration.BuildTargets) { p.BuildTargets.Add(target); } foreach (var scene in platformsConfiguration.Scenes) { p.Scenes.Add(scene); } copy.Platforms.Add(p); } return(copy); }
public static bool IsActive(this BuildConfiguration configuration, PlatformsConfiguration platformsConfiguration) { BuildTargetRuntime buildTarget = (BuildTargetRuntime)(int)EditorUserBuildSettings.activeBuildTarget; return(platformsConfiguration.BuildTargets.Contains(buildTarget)); }
void DrawPlatforms(BuildConfiguration conf) { using (new IMGUIBlockWithIndent(new GUIContent("Platforms"))) { using (new IMGUIBeginHorizontal()) { GUILayout.Space(20); using (new IMGUIBeginVertical()) { foreach (var platform in conf.Platforms) { m_ShowBuildIndex = conf.IsActive(platform); EditorGUILayout.BeginHorizontal(GUI.skin.box); { EditorGUILayout.BeginVertical(GUILayout.Width(10)); { using (new IMGUIBeginHorizontal()) { GUILayout.Space(2); bool delete = GUILayout.Button("-", EditorStyles.miniButton, GUILayout.Width(18)); if (delete) { conf.Platforms.Remove(platform); GUIUtility.ExitGUI(); break; } GUILayout.Space(-5); } } EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical(GUILayout.Width(150)); { ReorderableListGUI.Title("Build Targets"); ReorderableListGUI.ListField(platform.BuildTargets, BuildTargetListItem, DrawEmptyPlatform); } EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical(GUILayout.ExpandWidth(true)); { GUI.backgroundColor = m_ShowBuildIndex ? GUI.skin.settings.selectionColor : Color.white; ReorderableListGUI.Title("Scenes"); GUI.backgroundColor = Color.white; ReorderableListGUI.ListField(platform.Scenes, ContentTypeListItem, DrawEmptyScene); } EditorGUILayout.EndVertical(); } EditorGUILayout.EndHorizontal(); } } } using (new IMGUIBeginHorizontal()) { GUILayout.FlexibleSpace(); if (GUILayout.Button("+", GUILayout.Width(25))) { PlatformsConfiguration s = new PlatformsConfiguration(); conf.Platforms.Add(s); } } } m_ShowBuildIndex = true; }
public static List <SceneAsset> GetAddressableScenes(this PlatformsConfiguration platformsConfiguration) { return(platformsConfiguration.Scenes.Where(scene => scene.GetSceneAsset() != null && scene.Addressable).Select(addressableScene => addressableScene.GetSceneAsset()).ToList()); }
public static List <BuildTarget> GetBuildTargetsEditor(this PlatformsConfiguration platformsConfiguration) { return(platformsConfiguration.BuildTargets.Select(bt => (BuildTarget)bt).ToList()); }
public static List <SceneAssetInfo> GetNonAddressableScenes(this PlatformsConfiguration platformsConfiguration) { return(platformsConfiguration.Scenes.Where(scene => scene.GetSceneAsset() != null && !scene.Addressable).ToList()); }