Exemplo n.º 1
0
    //private void Awake ()
    //{
    //    initialise();
    //}

    public void initialise()
    {
        moveButtonUp();

        tasksTextHeight      = /*JF_Utility.calculateTextHeightInWorldSpace(tasks);*/ 0.432f;
        talentsTextHeight    = JF_Utility.calculateTextHeightInWorldSpace(talents);
        problemsTextHeight   = JF_Utility.calculateTextHeightInWorldSpace(problems);
        statisticsTextHeight = JF_Utility.calculateTextHeightInWorldSpace(statisticsValues);
        //-0.132

        //Debug.LogWarning(JF_Utility.calculateLineHeight(tasks) * tasks.transform.localScale.x);
        if ((float)Screen.width / (float)Screen.height < 0.5f)
        {
            isIphoneX = true;
        }

        jumpedText = FMC_GameDataController.instance.fullTranslation[FMC_Translation.translations.statistics][25];
        if (isIphoneX && jumpedText.Length > 6)
        {
            jumpedText = jumpedText.Substring(0, 6) + ".";
        }

        isInitialised = true;
        //resetStatisticsData();
    }
Exemplo n.º 2
0
    public void saveLongestLastingExpirationDate()
    {
#if UNITY_IPHONE
        var             builder            = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
        var             appleConfig        = builder.Configure <IAppleConfiguration>();
        List <DateTime> allExpirationDates = new List <DateTime>();
        if (!string.IsNullOrEmpty(appleConfig.appReceipt))
        {
            var receiptData            = System.Convert.FromBase64String(appleConfig.appReceipt);
            AppleReceiptParser parser  = new AppleReceiptParser();
            AppleReceipt       receipt = parser.Parse(receiptData);
            //AppleReceipt receipt = new AppleReceiptParser.Parse(receiptData);

            FMC_GameDataController.instance.writeToReceiptLog("sled " + receipt.bundleID);
            FMC_GameDataController.instance.writeToReceiptLog("sled " + receipt.receiptCreationDate);
            foreach (AppleInAppPurchaseReceipt productReceipt in receipt.inAppPurchaseReceipts)
            {
                FMC_GameDataController.instance.writeToReceiptLog("sled Transaction ID: " + productReceipt.transactionID);
                FMC_GameDataController.instance.writeToReceiptLog("sled Product ID: " + productReceipt.productID);
                FMC_GameDataController.instance.writeToReceiptLog("sled Sub Expiration Date: " + productReceipt.subscriptionExpirationDate);

                // Wenn eine der IDs im Receipt mit einer der Abo-IDs übereinstimmt: Testen, ob das Abo gültig ist.
                if (String.Equals(productReceipt.productID, FMC_InAppPurchasing.subscription01, StringComparison.Ordinal) ||
                    String.Equals(productReceipt.productID, FMC_InAppPurchasing.subscription02, StringComparison.Ordinal))
                {
                    allExpirationDates.Add(productReceipt.subscriptionExpirationDate);
                    //if (!JF_Utility.isExpired(productReceipt.subscriptionExpirationDate))
                    //{
                    //    FMC_GameDataController.instance.setSubscriptionToActive();
                    //    FMC_GameDataController.instance.saveNewExpirationDate(productReceipt.subscriptionExpirationDate);
                    //}
                }
            }
        }
        else
        {
            refreshAppleReceipt();
        }

        if (allExpirationDates.Count > 0)
        {
            DateTime longestExpirationDate = allExpirationDates[0];
            for (int i = 0; i < allExpirationDates.Count; i++)
            {
                FMC_GameDataController.instance.writeToReceiptLog("Sled: Test for longest expiration Date.");
                if (JF_Utility.getExpirationTime(allExpirationDates[i]) > JF_Utility.getExpirationTime(longestExpirationDate))
                {
                    longestExpirationDate = allExpirationDates[i];
                }
            }
            FMC_GameDataController.instance.setSubscriptionToActive();
            FMC_GameDataController.instance.saveNewExpirationDate(longestExpirationDate);
        }
#endif
    }
Exemplo n.º 3
0
            public List <string> getStatisticsValues()
            {
                List <string> values = new List <string>();

                values.Add(calculatedTasksTotal.ToString());
                values.Add(correctlyCalculatedTasks.ToString());
                values.Add(timeNeededPerTask.ToString("F0") + "s");
                values.Add(JF_Utility.convertTimeSpanToString(timeNeededTotal));

                return(values);
            }
Exemplo n.º 4
0
    public void checkIfSubscriptionIsActive()
    {
#if UNITY_IPHONE
        var builder     = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
        var appleConfig = builder.Configure <IAppleConfiguration>();
        if (!string.IsNullOrEmpty(appleConfig.appReceipt))
        {
            var receiptData            = System.Convert.FromBase64String(appleConfig.appReceipt);
            AppleReceiptParser parser  = new AppleReceiptParser();
            AppleReceipt       receipt = parser.Parse(receiptData);
            //AppleReceipt receipt = new AppleReceiptParser.Parse(receiptData);

            FMC_GameDataController.instance.writeToReceiptLog("Check if Sub is active: Original Version: " + receipt.originalApplicationVersion);
            FMC_GameDataController.instance.writeToReceiptLog("Check if Sub is active: Bundle id: " + receipt.bundleID);
            FMC_GameDataController.instance.writeToReceiptLog("Check if Sub is active: Creation Date: " + receipt.receiptCreationDate);
            foreach (AppleInAppPurchaseReceipt productReceipt in receipt.inAppPurchaseReceipts)
            {
                FMC_GameDataController.instance.writeToReceiptLog("Check if Sub is active: Transaction ID: " + productReceipt.transactionID);
                FMC_GameDataController.instance.writeToReceiptLog("Check if Sub is active: Product ID: " + productReceipt.productID);
                FMC_GameDataController.instance.writeToReceiptLog("Check if Sub is active: Sub Expiration Date: " + productReceipt.subscriptionExpirationDate);

                // Wenn eine der IDs im Receipt mit einer der Abo-IDs übereinstimmt: Testen, ob das Abo gültig ist.
                if (String.Equals(productReceipt.productID, FMC_InAppPurchasing.subscription01, StringComparison.Ordinal) ||
                    String.Equals(productReceipt.productID, FMC_InAppPurchasing.subscription02, StringComparison.Ordinal))
                {
                    //TimeSpan utcOffset = DateTime.Now - DateTime.UtcNow;
                    //DateTime newDateToCheck = productReceipt.subscriptionExpirationDate + utcOffset;
                    //TimeSpan timeToExpiry = productReceipt.subscriptionExpirationDate - DateTime.UtcNow;
                    //Debug.Log("---------------------------- Time to expiry: " + timeToExpiry);
                    //if (timeToExpiry.TotalSeconds > 0)
                    //    return true;

                    if (!JF_Utility.isExpired(productReceipt.subscriptionExpirationDate))
                    {
                        FMC_GameDataController.instance.setSubscriptionToActive();
                        FMC_GameDataController.instance.saveNewExpirationDate(productReceipt.subscriptionExpirationDate);
                    }
                }
            }
            // Wenn keine übereinstimmende ID in den Product Receipts gefunden wurde: Subscription nicht aktiv.
        }
        else
        {
            refreshAppleReceipt();
        }
#endif
    }
    public void setLayout()
    {
        cameraHeight   = Camera.main.orthographicSize * 2.0f;
        cameraWidth    = cameraHeight * Camera.main.aspect;
        cameraPosition = new Vector2(Camera.main.transform.position.x, Camera.main.transform.position.y);

        if (lineTop)
        {
            lineTop.size = new Vector2(cameraWidth * 0.9f, lineTop.size.y);
        }

        //if (textHeader)
        //    textHeader.position = new Vector3(cameraPosition.x - (cameraWidth * 0.5f) + (cameraWidth * 0.055f), textHeader.position.y, textHeader.position.z);

        if (textHeaderText && FMC_GameDataController.instance)
        {
            textHeaderText.text = FMC_GameDataController.instance.fullTranslation[FMC_Translation.translations.statistics][7];
        }

        if (background)
        {
            background.size = new Vector2(cameraWidth * 0.9f, background.size.y);
        }

        if (lineBgTop)
        {
            lineBgTop.size = new Vector2(background.size.x, lineBgTop.size.y);
        }

        if (lineBgBottom)
        {
            lineBgBottom.size = new Vector2(background.size.x, lineBgBottom.size.y);
        }



        float barSpacing     = (cameraWidth * 0.9f) / graphBarsFront.Count;
        float rectangleWidth = background.size.x;
        float graphbarsWidth = graphBarsFront[0].size.x;
        float x = background.transform.position.x - (rectangleWidth * 0.5f);
        float y = background.transform.position.x + (rectangleWidth * 0.5f) - graphbarsWidth;

        for (int i = 0; i < graphBarsFront.Count; i++)
        {
            float xPos = JF_Utility.convertRangeClamped(0, graphBarsFront.Count - 1, x, y, i);
            graphBarsFront[i].transform.position = new Vector3(xPos, graphBarsFront[i].transform.position.y, graphBarsFront[i].transform.position.z);
        }

        for (int i = 0; i < graphBarsBack.Count; i++)
        {
            graphBarsBack[i].transform.position = new Vector3(graphBarsFront[i].transform.position.x, graphBarsBack[i].transform.position.y, graphBarsBack[i].transform.position.z);
        }

        for (int i = 0; i < bottomTexts01.Count; i++)
        {
            bottomTexts01[i].transform.parent.transform.position = new Vector3(graphBarsFront[i].transform.position.x + (graphbarsWidth * 0.5f), bottomTexts01[i].transform.parent.transform.position.y, bottomTexts01[i].transform.parent.transform.position.z);
        }

        for (int i = 0; i < bottomTexts02.Count; i++)
        {
            bottomTexts02[i].transform.parent.transform.position = new Vector3(graphBarsFront[i].transform.position.x + (graphbarsWidth * 0.5f), bottomTexts02[i].transform.parent.transform.position.y, bottomTexts02[i].transform.parent.transform.position.z);
        }

        for (int i = 0; i < months.Count; i++)
        {
            months[i].transform.parent.transform.position = new Vector3(graphBarsFront[i].transform.position.x + (graphbarsWidth * 0.5f), months[i].transform.parent.transform.position.y, months[i].transform.parent.transform.position.z);
        }

        if (iterateButton)
        {
            iterateButton.transform.position = new Vector3(months[months.Count - 1].transform.parent.position.x, iterateButton.transform.position.y, iterateButton.transform.position.z); // 0.3441 == Button Size
        }
    }
    public void renewStatisticsData()
    {
        dailyData = FMC_GameDataController.instance.getDailyData();

        if (headerGreeting)
        {
            headerGreeting.text = FMC_GameDataController.instance.getCurrentPlayerName() + ", " + JF_Utility.convertAgeTypeToString(FMC_GameDataController.instance.getCurrentPlayerAge());
        }

        for (int i = 0; i < allSessionButtons.Count; i++)
        {
            if (i < dailyData.Count)
            {
                allSessionButtons[i].gameObject.SetActive(true);
                allSessionButtons[i].sessionID.text = dailyData[i].date.ToString(@"dd\.MM\.yyyy, HH:mm");
                allSessionButtons[i].resetStatisticsData(dailyData[i]);
            }
            else
            {
                allSessionButtons[i].gameObject.SetActive(false);
            }
        }

        numberOfActiveButtons = dailyData.Count;
    }