/// <summary>Implementaion of <see cref="XRLoader.Initialize"/></summary> /// <returns>True if successful, false otherwise</returns> public override bool Initialize() { SampleSettings settings = GetSettings(); if (settings != null) { // TODO: Pass settings off to plugin prior to subsystem init. } CreateSubsystem <XRInputSubsystemDescriptor, XRInputSubsystem>(s_InputSubsystemDescriptors, "InputSubsystemDescriptor"); return(false); }
SampleSettings GetSettings() { SampleSettings settings = null; // When running in the Unity Editor, we have to load user's customization of configuration data directly from // EditorBuildSettings. At runtime, we need to grab it from the static instance field instead. #if UNITY_EDITOR UnityEditor.EditorBuildSettings.TryGetConfigObject(SampleConstants.k_SettingsKey, out settings); #else settings = SampleSettings.s_RuntimeInstance; #endif return(settings); }
/// <summary>Override of <see cref="IPreprocessBuildWithReport"/></summary> /// <param name="report">Build report.</param> public void OnPreprocessBuild(BuildReport report) { // Always remember to cleanup preloaded assets after build to make sure we don't // dirty later builds with assets that may not be needed or are out of date. CleanOldSettings(); SampleSettings settings = null; EditorBuildSettings.TryGetConfigObject(SampleConstants.k_SettingsKey, out settings); if (settings == null) { return; } UnityEngine.Object[] preloadedAssets = PlayerSettings.GetPreloadedAssets(); if (!preloadedAssets.Contains(settings)) { var assets = preloadedAssets.ToList(); assets.Add(settings); PlayerSettings.SetPreloadedAssets(assets.ToArray()); } }
void Awake() { #if !UNITY_EDITOR s_RuntimeInstance = this; #endif }