Tmcsblog  

1、MainMene脚本

  • List<T>.Add(T) 方法——将对应的元素添加到List集合末尾

方法签名为void Add(T item),T代表List集合中的具体元素的类型,是C#中的泛型语法,item代表具体需要添加的元素对象。

  • $符号——字符串的拼接优化

语法格式:$"string {参数}",以{}来进行传参,可以多个参数累加。

替代格式化字符串string.format(),原先赋值需要占位符和变量,需要拼接多个变量会造成语句过长等不易理解问题。

例:string.Format 的语法

	string str =string.Format("my name is {0},my age is {1}.", name, age);

$使代码简洁,可读性强

string str = $"my name is {name},my age is {age}.";

引用自:https://blog.csdn.net/weixin_47896156/article/details/114637372

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class TF_MainMenu : MonoBehaviour {

public Text Text_Ranking1, Text_Ranking2;
public Transform PanelHonor;

private readonly List _jlist =  new List(); //定义只读List
private readonly List _jlblist =  new List();
private readonly List _njlist =  new List();


private void Awake()
{
    Transform _bg = PanelHonor.GetChild(0); //定义私有变量_bg并赋入PanelHonor下第一个子物体
    for ( int i = 0; i &lt; _bg.childCount; i++)
    {
        _jlist.Add(_bg.GetChild(i)); //将_bg下的子物体添加到_jlist集合中
        //找到_bg下子物体"Label"上的Text组件,并添加到_jlbist集合中
        _jlblist.Add(_bg.GetChild(i).Find( "Label" ).GetComponent());
    }
    TF_GameData.getInstance().ResetData();
    _njlist.Add(TF_GameData.getInstance().nj1);
    _njlist.Add(TF_GameData.getInstance().nj2);
    _njlist.Add(TF_GameData.getInstance().nj3);
    _njlist.Add(TF_GameData.getInstance().nj4);
    _njlist.Add(TF_GameData.getInstance().nj5);
    _njlist.Add(TF_GameData.getInstance().nj6);
    _njlist.Add(TF_GameData.getInstance().nj7);
    _njlist.Add(TF_GameData.getInstance().nj8);
    _njlist.Add(TF_GameData.getInstance().nj9);
    _njlist.Add(TF_GameData.getInstance().nj10);
    _njlist.Add(TF_GameData.getInstance().nj200);
    _njlist.Add(TF_GameData.getInstance().nj201);
}

public void OpenPanelHonor() 
{
    PanelHonor.gameObject.SetActive( true );
}


void Start ()
{
    Text_Ranking1.text = $ "排行:{1}" ; //字符串的拼接优化
    Text_Ranking2.text =  "" ;
}

public void Loadnewlevel( string levelname)
{
    SceneManager.LoadSceneAsync(levelname);
}

}

 

2、GameData脚本

  • PlayerPrefs——数据存储

注:PlayerPrefs 仅适用于配置与存储小体量的本地数据。若期望存储体量大的数据,应建议考虑 Json \ XML \ CSV \ TXT \ SQL 等数据文件。而非使用 PlayerPrefs !

  • using UnityEngine;
    public class TF_GameData
    {
        public static int totalLevel = 20;
        public static TF_GameData instance;
    
    public int levelPassed = 0;
    public int cLevel = 0;
    public int cScore = 0;
    public int cCoin = 0;
    public long gameStep, itemUsed;
    public long nj1, nj2, nj3, nj4, nj5, nj6, nj7, nj8, nj9, nj10;// nj11, nj12;
    public long nj200, nj201, nj202;
    public int nBomb = 0;
    public int nShove = 0;
    public string cBuyItem = "";
    public int bestJew = 4;
    public bool isFail = false;
    public int isLock = 0;
    
    public static TF_GameData GetInstance() 
    {
        instance ??= new TF_GameData();
        return instance;
    }
    public void ResetData()
    {
        isLock = 0;
        isFail = false;
        cBuyItem = "";
        bestJew = PlayerPrefs.GetInt("TrippleFarmbestjew", 4);//获取int值
    
        nj1 = long.Parse(PlayerPrefs.GetString("TrippleFarmnj1", "0"));
        nj2 = long.Parse(PlayerPrefs.GetString("TrippleFarmnj2", "0"));
        nj3 = long.Parse(PlayerPrefs.GetString("TrippleFarmnj3", "0"));
        nj4 = long.Parse(PlayerPrefs.GetString("TrippleFarmnj4", "0"));
        nj5 = long.Parse(PlayerPrefs.GetString("TrippleFarmnj5", "0"));
        nj6 = long.Parse(PlayerPrefs.GetString("TrippleFarmnj6", "0"));
        nj7 = long.Parse(PlayerPrefs.GetString("TrippleFarmnj7", "0"));
        nj8 = long.Parse(PlayerPrefs.GetString("TrippleFarmnj8", "0"));
        nj9 = long.Parse(PlayerPrefs.GetString("TrippleFarmnj9", "0"));
        nj10 = long.Parse(PlayerPrefs.GetString("TrippleFarmnj10", "0"));
    
        nj200 = long.Parse(PlayerPrefs.GetString("TrippleFarmnj200", "0"));
        nj201 = long.Parse(PlayerPrefs.GetString("TrippleFarmnj201", "0"));
        nj202 = long.Parse(PlayerPrefs.GetString("TrippleFarmnj202", "0"));
    
        gameStep = long.Parse(PlayerPrefs.GetString("TrippleFarmgameStep", "0"));
        itemUsed = long.Parse(PlayerPrefs.GetString("TrippleFarmitemUsed", "0"));
    }
    

     

posted on 2023-08-25 15:14  烫面茶  阅读(27)  评论(0)    收藏  举报