//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(); }
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 }
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); }
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; }