public SharingService(string name, uint priority, BaseMixedRealityProfile profile) : base(name, priority, profile) { _defaultProfile = profile as SharingServiceProfile; if (_defaultProfile == null) { _defaultProfile = ScriptableObject.CreateInstance <SharingServiceProfile>(); } }
/// <summary> /// Attempt to load the profile from the Override File Path. /// </summary> /// <param name="fallback">The fallback data to use if no file is found.</param> /// <returns>The loaded configuration</returns> public static async Task <SharingServiceProfile> Load(SharingServiceProfile fallback = null) { ServiceConfigurationFile file = new ServiceConfigurationFile(); // load in the installed file ServiceConfigurationFile.FileData fileData = await file.LoadMerged(); fallback = CreateProfile(fileData, fallback); return(fallback); }
/// <summary> /// Create a profile from the given file data, or using the fallback data. /// </summary> private static SharingServiceProfile CreateProfile(ServiceConfigurationFile.FileData fileData, SharingServiceProfile fallback) { SharingServiceProfile result; if (fallback == null) { result = ScriptableObject.CreateInstance <SharingServiceProfile>(); } else { result = Object.Instantiate(fallback); } if (fileData == null) { return(result); } var sharing = fileData.Sharing; if (sharing != null) { if (sharing.ShouldSerializePhotonRealtimeId()) { result.PhotonRealtimeId = sharing.PhotonRealtimeId; } } return(result); }