Beispiel #1
0
        BuildTargetRuntime BuildTargetListItem(Rect pos, BuildTargetRuntime itemValue)
        {
            int indentLevel = EditorGUI.indentLevel;

            EditorGUI.indentLevel = 0;
            BuildTargetRuntime target = (BuildTargetRuntime)EditorGUI.EnumPopup(pos, itemValue);

            EditorGUI.indentLevel = indentLevel;
            return(target);
        }
Beispiel #2
0
        PlatformsConfiguration GetConfigurationFroBuildTarget(BuildTargetRuntime buildTarget)
        {
            foreach (var platform in Platforms)
            {
                if (platform.BuildTargets.Contains(buildTarget))
                {
                    return(platform);
                }
            }

            return(null);
        }
Beispiel #3
0
        public static bool IsActive(this BuildConfiguration configuration, PlatformsConfiguration platformsConfiguration)
        {
            BuildTargetRuntime buildTarget = (BuildTargetRuntime)(int)EditorUserBuildSettings.activeBuildTarget;

            return(platformsConfiguration.BuildTargets.Contains(buildTarget));
        }
Beispiel #4
0
        public static void InitializeBuildData(this BuildConfiguration platformsConfiguration, BuildTargetRuntime builtTarget)
        {
            var sceneNames  = new List <string>();
            var sceneAssets = new List <AddressableSceneAsset>();

            foreach (var scene in platformsConfiguration.DefaultScenes)
            {
                if (scene.Addressable)
                {
                    string path = AssetDatabase.GUIDToAssetPath(scene.Guid);
                    if (string.IsNullOrEmpty(path))
                    {
                        continue;
                    }

                    sceneNames.Add(Path.GetFileNameWithoutExtension(path));
                    sceneAssets.Add(scene);
                }
            }

            foreach (var platform in platformsConfiguration.Platforms)
            {
                if (platform.BuildTargets.Contains(builtTarget))
                {
                    foreach (var scene in platform.Scenes)
                    {
                        if (scene.Addressable)
                        {
                            string path = AssetDatabase.GUIDToAssetPath(scene.Guid);
                            if (string.IsNullOrEmpty(path))
                            {
                                continue;
                            }

                            sceneNames.Add(Path.GetFileNameWithoutExtension(path));
                            sceneAssets.Add(scene);
                        }
                    }
                }
            }

            Debug.Log("Addressable Scenes: " + sceneNames.Count);
            Debug.Log($"Addressable Scenes List:\n{string.Join("\n", sceneAssets.Select(asset => AssetDatabase.GUIDToAssetPath(asset.Guid)))}");
            platformsConfiguration.SetScenesConfig(sceneNames, sceneAssets);
        }