示例#1
0
        // This is intended to be called in the GUI loop.
        public void ActivationCheck()
        {
            bool isTimeToCheck = Time.realtimeSinceStartup > nextKitInstallationCheck;

            if (kitInstallationChecker != null || !isTimeToCheck)
            {
                return;                 // We're currently checking.
            }

            string organization = Settings.Instance.Organization.Name;

#if UNITY_5_6_OR_NEWER
            string bundleIdentifier = PlayerSettings.applicationIdentifier;
#else
            string bundleIdentifier = PlayerSettings.bundleIdentifier;
#endif
            BuildTarget buildTarget = EditorUserBuildSettings.activeBuildTarget;

            kitInstallationChecker = new KitInstallationChecker();
            kitInstallationChecker.CheckInstalledKits(organization, bundleIdentifier, buildTarget, (activatedApp) => {
                if (activatedApp == null)
                {
                    ResetKitInstallationChecker();
                    return;
                }

                HashSet <string> installedKitNames = new HashSet <string> (
                    activatedApp.SdkKits.ConvertAll(kit => kit.Name), StringComparer.OrdinalIgnoreCase
                    );

                SendKitsAnalytics(installedKitNames);

                MarkKitsAsInstalled(installedKitNames);
                Settings.Instance.IconUrl      = activatedApp.IconUrl;
                Settings.Instance.DashboardUrl = activatedApp.DashboardUrl;

                ResetKitInstallationChecker();
            }, (Exception exception) => {
                Utils.Warn("Failed checking for kit installation: {0}", exception.Message);
                ResetKitInstallationChecker();
            }, (Exception noNetwork) => {
                ResetKitInstallationChecker();
            });
        }
示例#2
0
 private void ResetKitInstallationChecker()
 {
     kitInstallationChecker = null;
     nextKitInstallationCheck = Time.realtimeSinceStartup + kitInstallCheckDelay;
 }
示例#3
0
 private void ResetKitInstallationChecker()
 {
     kitInstallationChecker   = null;
     nextKitInstallationCheck = Time.realtimeSinceStartup + kitInstallCheckDelay;
 }
示例#4
0
        // This is intended to be called in the GUI loop.
        public void ActivationCheck()
        {
            bool isTimeToCheck = Time.realtimeSinceStartup > nextKitInstallationCheck;
            if (kitInstallationChecker != null || !isTimeToCheck) {
                return; // We're currently checking.
            }

            string organization = Settings.Instance.Organization.Name;
            string bundleIdentifier = PlayerSettings.bundleIdentifier;
            BuildTarget buildTarget = EditorUserBuildSettings.activeBuildTarget;

            kitInstallationChecker = new KitInstallationChecker ();
            kitInstallationChecker.CheckInstalledKits (organization, bundleIdentifier, buildTarget, (activatedApp) => {
                if (activatedApp == null) {
                    ResetKitInstallationChecker ();
                    return;
                }

                HashSet<string> installedKitNames = new HashSet<string> (
                    activatedApp.SdkKits.ConvertAll (kit => kit.Name), StringComparer.OrdinalIgnoreCase
                );

                SendKitsAnalytics (installedKitNames);

                MarkKitsAsInstalled(installedKitNames);
                Settings.Instance.IconUrl = activatedApp.IconUrl;
                Settings.Instance.DashboardUrl = activatedApp.DashboardUrl;

                ResetKitInstallationChecker ();
            }, (Exception exception) => {
                Utils.Warn ("Failed checking for kit installation: {0}", exception.Message);
                ResetKitInstallationChecker ();
            }, (Exception noNetwork) => {
                ResetKitInstallationChecker ();
            });
        }