最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Unity為軟件添加使用有效期的具體步驟

 更新時間:2022年03月18日 15:21:19   作者:CoderZ1010  
今天小編遇到這樣一個需求需要為軟件設定一個使用有效期,當超過指定時間后,程序無法執(zhí)行,實現(xiàn)思路并不復雜,今天小編通過本文給大家分享Unity為軟件添加使用有效期的具體步驟,感興趣的朋友一起看看吧

功能需求:為軟件設定一個使用有效期,當超過指定時間后,程序無法運行。

實現(xiàn)思路:定義一個常量,用于記錄一個時間,我們稱之為標記時間,使用當前時間減去標記時間,如果時間間隔大于設定的有效期,退出程序。

具體步驟:

1.定義標記時間常量:

//標記時間
private const string flag = "2022-03-17 17:11:25";

使用DateTime.Parse可將其轉換為DateTime類型:

DateTime flagTime = DateTime.Parse(flag);

2.獲取當前時間:

DateTime nowTime = DateTime.Now;

3.計算時間間隔:

TimeSpan span = nowTime - flagTime;

4.判斷時間間隔是否大于有效期:

if (span.Days >= expires) Application.Quit();

但是這樣這樣實現(xiàn)會有一個問題,DateTime.Now獲取的是本地計算機時間,如果用戶故意修改計算機的時間,那么這個功能將無意義。

因此將獲取當前時間的步驟修改為調用網絡接口來獲取時間,這里以如下這個接口為例:

https://apps.game.qq.com/CommArticle/app/reg/gdate.php

使用GET方式調用接口,代碼如下:

using System;
using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
 
public class Example : MonoBehaviour
{
    //標記時間
    private const string flag = "2022-03-17 17:11:25";
    //有效期 單位:天
    private const int expires = 30;
    private void Start()
    {
        StartCoroutine(RequestCoroutine());
    }
    private IEnumerator RequestCoroutine()
        string url = "https://apps.game.qq.com/CommArticle/app/reg/gdate.php";
        using (UnityWebRequest request = UnityWebRequest.Get(url))
        {
            yield return request.SendWebRequest();
            if(request.result == UnityWebRequest.Result.Success)
            {
                Debug.Log(request.downloadHandler.text);
            }
            else
                Debug.LogError($"get time failed: {request.error}");
        }
}

調用接口我們可以收到如圖所示的響應,我們只需要通過Split函數(shù)將字符串分割,獲取到等號后面的部分,再使用Substring函數(shù)截取‘’符號中間的部分即可:

string timeStr = request.downloadHandler.text.Split('=')[1];
timeStr = timeStr.Trim().Substring(1, timeStr.Length - 4);
Debug.Log(timeStr);

 

 完整代碼:

using System;
using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
 
public class Example : MonoBehaviour
{
    //標記時間
    private const string flag = "2022-03-17 17:11:25";
    //有效期 單位:天
    private const int expires = 30;
    private void Start()
    {
        StartCoroutine(RequestCoroutine());
    }
    private IEnumerator RequestCoroutine()
        string url = "https://apps.game.qq.com/CommArticle/app/reg/gdate.php";
        using (UnityWebRequest request = UnityWebRequest.Get(url))
        {
            yield return request.SendWebRequest();
            if(request.result == UnityWebRequest.Result.Success)
            {
                Debug.Log(request.downloadHandler.text);
                string timeStr = request.downloadHandler.text.Split('=')[1];
                timeStr = timeStr.Trim().Substring(1, timeStr.Length - 4);
                Debug.Log(timeStr);
                DateTime flagTime = DateTime.Parse(flag);
                DateTime nowTime = DateTime.Parse(timeStr);
                TimeSpan span = nowTime - flagTime;
                Debug.Log(span);
                if (span.Days >= expires) Application.Quit();
            }
            else
                Debug.LogError($"get time failed: {request.error}");
        }
}

到此這篇關于Unity為軟件添加使用有效期的文章就介紹到這了,更多相關Unity軟件使用有效期內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關文章

  • C#讀寫config配置文件的方法

    C#讀寫config配置文件的方法

    下面小編就為大家?guī)硪黄狢#讀寫config配置文件的方法。小編覺的挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • C#集合根據(jù)對象的某個屬性進行去重的代碼示例

    C#集合根據(jù)對象的某個屬性進行去重的代碼示例

    當根據(jù)對象的Name屬性進行去重時,你可以使用以下三種方法:使用Distinct方法和自定義比較器、使用LINQ的GroupBy方法,以及使用HashSet,下面給大家介紹C#集合根據(jù)對象的某個屬性進行去重的代碼示例,感興趣的朋友一起看看吧
    2024-03-03
  • C# WPF 通過委托實現(xiàn)多窗口間的傳值的方法

    C# WPF 通過委托實現(xiàn)多窗口間的傳值的方法

    這篇文章主要介紹了C# WPF 通過委托實現(xiàn)多窗口間的傳值的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • c#反射表達式樹模糊搜索示例

    c#反射表達式樹模糊搜索示例

    這篇文章主要介紹了c#反射表達式樹模糊搜索示例,反射實體T,非datetime字段反射獲取表達式樹,需要的朋友可以參考下
    2014-02-02
  • C# 數(shù)組實例介紹(圖文)

    C# 數(shù)組實例介紹(圖文)

    數(shù)組即是一組相同類型組合在一起,使用一個通用的名稱,通過分配的下標訪問的數(shù)據(jù)集合中的元素。
    2014-08-08
  • UGUI實現(xiàn)4位驗證碼輸入

    UGUI實現(xiàn)4位驗證碼輸入

    這篇文章主要為大家詳細介紹了UGUI實現(xiàn)4位驗證碼輸入,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • C#實現(xiàn)遞歸算法經典實例

    C#實現(xiàn)遞歸算法經典實例

    這篇文章主要為大家介紹了C#實現(xiàn)遞歸算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • C# 如何調用python腳本

    C# 如何調用python腳本

    這篇文章主要介紹了C# 如何調用python腳本,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • C#實現(xiàn)計算兩個坐標點直接距離的方法小結

    C#實現(xiàn)計算兩個坐標點直接距離的方法小結

    這篇文章主要為大家詳細介紹了C#中幾種常見場景下兩個坐標點直接距離的計算方法,文中的示例代碼講解詳細,有需要的可以參考一下
    2024-04-04
  • C#實現(xiàn)飛行棋優(yōu)化版

    C#實現(xiàn)飛行棋優(yōu)化版

    這篇文章主要為大家詳細介紹了C#實現(xiàn)飛行棋的優(yōu)化版,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05

最新評論

宜兰市| 仁化县| 吴桥县| 丹凤县| 扶风县| 泰来县| 彰化县| 彰武县| 弥勒县| 阿拉尔市| 晴隆县| 读书| 池州市| 宜都市| 丹棱县| 商南县| 沅陵县| 梅州市| 京山县| 沁水县| 泾源县| 旺苍县| 长宁区| 深泽县| 闻喜县| 合江县| 天镇县| 云南省| 芜湖市| 精河县| 乃东县| 罗定市| 道真| 乐山市| 怀柔区| 澄城县| 黑河市| 四川省| 三河市| 临猗县| 屯留县|