using UnityEngine; using Ubisoft.Hotel.Package.Editor; namespace Ubisoft.Hotel.PackageManager.Editor { public class SchemeProperty : PackageProperty { public static SchemeProperty CreateInstanceWithParams(string name) { SchemeProperty returnValue = CreateInstance(); returnValue.name = name; return returnValue; } [SerializeField] private EBoolean m_isDevelopmentBuild; [SerializeField] private EBoolean m_isConnectProfilerEnabled; [SerializeField] private EBoolean m_enableHeadlessMode; [SerializeField] private bool m_useCheats; [SerializeField] private EBoolean m_isBuildAppBundle; [SerializeField] private EBoolean m_generateSymbols; [SerializeField] private EBoolean m_deploySymbols; [SerializeField] private string m_keystoreName; [SerializeField] private UnityBuildProperty.EKeystoreStrategy m_keystoreStrategy; [SerializeField] private string m_keystorePass; [SerializeField] private string m_keyaliasName; [SerializeField] private string m_keyaliasPass; [SerializeField] private string m_keystoreVaultId; public EBoolean IsDevelopmentBuild { get { return m_isDevelopmentBuild; } set { m_isDevelopmentBuild = value; } } public EBoolean IsConnectProfilerEnabled { get { return m_isConnectProfilerEnabled; } set { m_isConnectProfilerEnabled = value; } } public EBoolean EnableHeadlessMode { get { return m_enableHeadlessMode; } set { m_enableHeadlessMode = value; } } public bool UseCheats { get { return m_useCheats; } set { m_useCheats = value; } } public EBoolean IsBuildAppBundle { get { return m_isBuildAppBundle; } set { m_isBuildAppBundle = value; } } public EBoolean GenerateSymbols { get { return m_generateSymbols; } set { m_generateSymbols = value; } } public EBoolean DeploySymbols { get { return m_deploySymbols; } set { m_deploySymbols = value; } } public UnityBuildProperty.EKeystoreStrategy KeystoreStrategy { get { return m_keystoreStrategy; } set { m_keystoreStrategy = value; } } public string KeystoreName { get { return m_keystoreName; } set { m_keystoreName = value; } } public string KeystorePass { get { return m_keystorePass; } set { m_keystorePass = value; } } public string KeyaliasName { get { return m_keyaliasName; } set { m_keyaliasName = value; } } public string KeyaliasPass { get { return m_keyaliasPass; } set { m_keyaliasPass = value; } } public string KeystoreVaultId { get { return m_keystoreVaultId; } set { m_keystoreVaultId = value; } } public override void Apply(BuildSuite buildSuite) { UnityBuildProperty unityProperty = UnityBuildProperty.CreateInstanceWithParams($"{name}_UnityBuildProperty"); unityProperty.IsDevelopmentBuild = IsDevelopmentBuild; unityProperty.IsConnectProfilerEnabled = IsConnectProfilerEnabled; unityProperty.EnableHeadlessMode = EnableHeadlessMode; if (UseCheats) { unityProperty.AddDefineSymbol(UnityBuildProperty.SYMBOLS_HT_CHEATS_ON); } unityProperty.IsBuildAppBundle = IsBuildAppBundle; unityProperty.GenerateSymbols = GenerateSymbols; unityProperty.DeploySymbols = DeploySymbols; unityProperty.KeystoreStrategy = KeystoreStrategy; unityProperty.KeystoreName = KeystoreName; unityProperty.KeystorePass = KeystorePass; unityProperty.KeyaliasName = KeyaliasName; unityProperty.KeyaliasPass = KeyaliasPass; unityProperty.KeystoreVaultId = KeystoreVaultId; buildSuite.OrderProperty(unityProperty); } } }