Example #1
0
        public void UpdateReason(Reason reason)
        {
            // Grab the web checker
            WebLocationChecker webChecker = null;

            if (Singleton.Instance.IsWebplayer == true)
            {
                webChecker = Singleton.Get <WebLocationChecker>();
            }

            if (showDebugInformation == true)
            {
                reason = Reason.JustTesting;
            }

            // Update the reason for this dialog to appear
            switch (reason)
            {
            case Reason.CannotConfirmDomain:
                // Update translation key
                reasonMessage.TranslationKey = cannotConfirmDomainMessageTranslationKey;
                break;

            case Reason.IsIncorrectDomain:
                if (webChecker != null)
                {
                    // Setup translation key, with proper population of fields
                    reasonMessage.SetTranslationKey(domainDoesNotMatchMessageTranslationKey, webChecker.RetrievedHostName);
                }
                else
                {
                    // Update translation key
                    reasonMessage.TranslationKey = gameIsNotGenuineMessageTranslationKey;
                }
                break;

            case Reason.JustTesting:
                // Overwrite the text: it's a test
                StringBuilder builder = new StringBuilder();
                builder.Append("This menu is just a test. ");
                Utility.BuildTestMessage(builder, webChecker);
                reasonMessage.CurrentText = builder.ToString();
                break;

            default:
                // Update translation key
                reasonMessage.TranslationKey = gameIsNotGenuineMessageTranslationKey;
                break;
            }
        }
        IEnumerator VerifyBuild()
        {
            if (Singleton.Instance.IsWebApp == true)
            {
                // Grab the web checker
                WebLocationChecker webChecker = Singleton.Get <WebLocationChecker>();
                if (webChecker != null)
                {
                    // Wait until the webchecker is done
                    while (webChecker.CurrentState == WebLocationChecker.State.InProgress)
                    {
                        yield return(null);
                    }

                    // Check the state
                    switch (webChecker.CurrentState)
                    {
                    case WebLocationChecker.State.EncounteredError:
                        buildState = MalformedGameMenu.Reason.CannotConfirmDomain;
                        break;

                    case WebLocationChecker.State.DomainDidntMatch:
                        buildState = MalformedGameMenu.Reason.IsIncorrectDomain;
                        break;
                    }
                }
            }
            else if ((Application.genuineCheckAvailable == true) && (Application.genuine == false))
            {
                buildState = MalformedGameMenu.Reason.IsNotGenuine;
            }

            // Check if we're simulating failure
            if (Singleton.Instance.IsSimulatingMalformedGame == true)
            {
                // Indicate as such
                buildState = MalformedGameMenu.Reason.JustTesting;
            }
        }