void OnApplicationFocus(bool focus) { if (focus && JCloudManager.PlatformIsCloudCompatible()) { JCloudExtern.ResetUbiquityStatus(); } }
void OnApplicationPause(bool pause) { if (!pause && JCloudManager.PlatformIsCloudCompatible()) { JCloudExtern.ResetUbiquityStatus(); } }
public static bool PollCloudDataAvailability() { #if !UNITY_EDITOR && ((UNITY_IPHONE && JCLOUDPLUGIN_IOS) || (UNITY_STANDALONE_OSX && JCLOUDPLUGIN_OSX)) if (JCloudManager.PlatformIsCloudCompatible() && (AcceptJailbrokenDevices || JCloudExtern.IsJailbroken() == false)) { return(JCloudExtern.GetUbiquitousStoreAvailability()); } else #endif return(false); }
public static void Save() { #if !UNITY_EDITOR && ((UNITY_IPHONE && JCLOUDPLUGIN_IOS) || (UNITY_STANDALONE_OSX && JCLOUDPLUGIN_OSX)) if (JCloudManager.PlatformIsCloudCompatible() && (AcceptJailbrokenDevices || JCloudExtern.IsJailbroken() == false)) { JCloudExtern.CloudDataSave(); } else #endif PlayerPrefs.Save(); }
public static bool HasKey(string key) { #if !UNITY_EDITOR && ((UNITY_IPHONE && JCLOUDPLUGIN_IOS) || (UNITY_STANDALONE_OSX && JCLOUDPLUGIN_OSX)) if (JCloudManager.PlatformIsCloudCompatible() && (AcceptJailbrokenDevices || JCloudExtern.IsJailbroken() == false)) { return(JCloudExtern.CloudDataHasKey(key)); } else #endif return(PlayerPrefs.HasKey(key)); }
// Constructor public JCloudManager() { // Make sure state change callback pointer was set if (stateChangeCallbackPointer == System.IntPtr.Zero) { DocumentStateDidChangeDelegate stateChangeCallback = DocumentStateDidChange; stateChangeCallbackHandle = GCHandle.Alloc(stateChangeCallback); stateChangeCallbackPointer = Marshal.GetFunctionPointerForDelegate(stateChangeCallback); JCloudExtern.SetStateChangeCallbackPointer(stateChangeCallbackPointer); } // Make sure status change callback pointer was set if (statusChangeCallbackPointer == System.IntPtr.Zero) { DocumentStatusDidChangeDelegate statusChangeCallback = DocumentStatusDidChange; statusChangeCallbackHandle = GCHandle.Alloc(statusChangeCallback); statusChangeCallbackPointer = Marshal.GetFunctionPointerForDelegate(statusChangeCallback); JCloudExtern.SetStatusChangeCallbackPointer(statusChangeCallbackPointer); } // Make sure progress change callback pointer was set if (progressChangeCallbackPointer == System.IntPtr.Zero) { DocumentProgressDidChangeDelegate progressChangeCallback = DocumentProgressDidChange; progressChangeCallbackHandle = GCHandle.Alloc(progressChangeCallback); progressChangeCallbackPointer = Marshal.GetFunctionPointerForDelegate(progressChangeCallback); JCloudExtern.SetProgressChangeCallbackPointer(progressChangeCallbackPointer); } // Make sure key-value store change callback pointer was set if (keyValueStoreChangeCallbackPointer == System.IntPtr.Zero) { KeyValueStoreDidChangeExternallyDelegate keyValueStoreChangeCallback = KeyValueStoreDidChangeExternally; keyValueStoreChangeCallbackHandle = GCHandle.Alloc(keyValueStoreChangeCallback); keyValueStoreChangeCallbackPointer = Marshal.GetFunctionPointerForDelegate(keyValueStoreChangeCallback); JCloudExtern.CloudDataSetCallbackPointer(keyValueStoreChangeCallbackPointer); } // Make sure file change callback pointer was set if (fileChangeCallbackPointer == System.IntPtr.Zero) { FileDidChangeDelegate fileChangeCallback = FileDidChange; fileChangeChangeCallbackHandle = GCHandle.Alloc(fileChangeCallback); fileChangeCallbackPointer = Marshal.GetFunctionPointerForDelegate(fileChangeCallback); JCloudExtern.CloudMetadataSetCallbackPointer(fileChangeCallbackPointer); } // First run will set persistent data path if (JCloudManager.persistentDataPathIsSet == false) { JCloudExtern.SetPersistentDataPath(JCloudManager.JCloudDocumentFallbackPath); JCloudManager.persistentDataPathIsSet = true; } }
public static void SetFloat(string key, float value) { // Set float #if !UNITY_EDITOR && ((UNITY_IPHONE && JCLOUDPLUGIN_IOS) || (UNITY_STANDALONE_OSX && JCLOUDPLUGIN_OSX)) if (JCloudManager.PlatformIsCloudCompatible() && (AcceptJailbrokenDevices || JCloudExtern.IsJailbroken() == false)) { JCloudExtern.CloudDataSetFloat(key, value); } else #endif PlayerPrefs.SetFloat(key, value); }
public static int GetInt(string key, int defaultValue) { // Get int, if key doesn't exist, value will keep the defaultValue #if !UNITY_EDITOR && ((UNITY_IPHONE && JCLOUDPLUGIN_IOS) || (UNITY_STANDALONE_OSX && JCLOUDPLUGIN_OSX)) if (JCloudManager.PlatformIsCloudCompatible() && (AcceptJailbrokenDevices || JCloudExtern.IsJailbroken() == false)) { int value = defaultValue; JCloudExtern.CloudDataGetInt(key, ref value); return(value); } else #endif return(PlayerPrefs.GetInt(key, defaultValue)); }
public static void RemoveFileChangeRegisteredComponent(Component component) { lock (fileChangeRegisteredComponents) { if (fileChangeRegisteredComponents.Contains(component)) { fileChangeRegisteredComponents.Remove(component); } if (fileChangeRegisteredComponents.Count == 0) { JCloudExtern.CloudMetadataSetShouldMessage(false); } } }
public static void AddFileChangeRegisteredComponent(Component component) { lock (fileChangeRegisteredComponents) { if (!fileChangeRegisteredComponents.Contains(component)) { fileChangeRegisteredComponents.Add(component); } if (fileChangeRegisteredComponents.Count == 1) { JCloudExtern.CloudMetadataSetShouldMessage(true); } } }
public static void RemoveKeyValueStoreRegisteredComponent(Component component) { lock (keyValueStoreDataRegisteredComponents) { if (keyValueStoreDataRegisteredComponents.Contains(component)) { keyValueStoreDataRegisteredComponents.Remove(component); } if (keyValueStoreDataRegisteredComponents.Count == 0) { JCloudExtern.CloudDataSetShouldMessage(false); } } }
public static void AddKeyValueStoreRegisteredComponent(Component component) { lock (keyValueStoreDataRegisteredComponents) { if (!keyValueStoreDataRegisteredComponents.Contains(component)) { keyValueStoreDataRegisteredComponents.Add(component); } if (keyValueStoreDataRegisteredComponents.Count == 1) { JCloudExtern.CloudDataSetShouldMessage(true); } } }
public static string GetString(string key, string defaultValue) { // Get string, if key doesn't exist, value will keep the defaultValue #if !UNITY_EDITOR && ((UNITY_IPHONE && JCLOUDPLUGIN_IOS) || (UNITY_STANDALONE_OSX && JCLOUDPLUGIN_OSX)) if (JCloudManager.PlatformIsCloudCompatible() && (AcceptJailbrokenDevices || JCloudExtern.IsJailbroken() == false)) { string value = defaultValue; System.IntPtr valuePtr; if (JCloudExtern.CloudDataGetString(key, out valuePtr)) { value = Marshal.PtrToStringAnsi(valuePtr); JCloudExtern.FreeMemory(valuePtr); } return(value); } else #endif return(PlayerPrefs.GetString(key, defaultValue)); }
public static bool UnregisterCloudDataExternalChanges(Component componentOrGameObject) { #if !UNITY_EDITOR && ((UNITY_IPHONE && JCLOUDPLUGIN_IOS) || (UNITY_STANDALONE_OSX && JCLOUDPLUGIN_OSX)) if (JCloudManager.PlatformIsCloudCompatible() && (AcceptJailbrokenDevices || JCloudExtern.IsJailbroken() == false)) { // Failsafe if (componentOrGameObject == null) { return(false); } // Check manager status JCloudManager.CheckManagerStatus(); // Remove JCloudManager.RemoveKeyValueStoreRegisteredComponent(componentOrGameObject); return(true); } #endif return(false); }