using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
namespace ProceduralWorlds.Addressables1
{
///
/// How the user wishes to use addressables in this project (Local as part of the regular build, or downloadable from a server)
///
public enum AddressableMode { Server, Local }
///
/// Stores the association between multiple terrains and a shared asset bundle group during collection of assets.
/// Allows to intelligently bundle assets that exist only on single terrains or are shared between only a few terrains.
///
[System.Serializable]
public class TerrainAssetGroupAssociation
{
public string m_assetGroup;
public List m_terrainNames = new List();
}
public class PWAddressablesConfig : ScriptableObject
{
[Tooltip("If the impostor scenes (if existing) should be included in the addressable configuration as well.")]
public bool m_addressableIncludeImpostors = true;
[Tooltip("If a collider-only server scene should be included in the addressable configuration as well.")]
public bool m_addressableIncludeServerScene = true;
[Tooltip("How you want to make use of the Addressable system - downloadable from a remote server, or locally embedded as part of the regular build.")]
public AddressableMode m_addressableMode = AddressableMode.Server;
[Tooltip("The Server URL where the Addressable files will be accessible from")]
public string m_addressableServerURL = "https://";
[Tooltip("When using a server, should a remote catalog be created during the addressable build? (This allows for remote content updates without deploying a new build)")]
public bool m_addressableBuildRemoteCatalog = true;
[Tooltip("The current Addressable bin file that defines the addressable update state when building update bundles.")]
public UnityEngine.Object m_currentAddressableBinFile = null;
[Tooltip("The custom file path where the addressable files are being copied to after building.")]
public string m_customAddressableFolderPath = "";
[Tooltip("The terrain <-> asset associations created during the initial config build.")]
public List m_terrainAssetGroupAssociations = new List();
[Tooltip("The last catalog URL used in a CDN addressable upload.")]
public string m_lastCatalogURL = "";
[Tooltip("The last master scene address used in a CDN addressable upload.")]
public string m_lastMasterSceneAddress = "";
[Tooltip("The index number of the currently selected CDN BucketIndex.")]
[HideInInspector]
public int m_currentCDNBucketIndex;
[HideInInspector]
public bool m_rebuildConfig;
}
}