unity3D项目中如何避免硬代码(C#)

平时做项目,代码中是不允许出现硬代码的,一般我们是怎么处理的呢? 那么硬代码又是什么呢?

我们俗称的硬代码:eg:  1 public UIlabel label; 2 label.text = "欢迎来到梦幻岛";  这样我们俗称为硬代码。

好了,那么该如何避免,话不多说,直接上图:

这是一种处理方式,TXT 格式的文档,前面是ID,后面是描述性文字。

可是我们该如何在项目中访问这个txt文件里面的数据呢? 话不多说,直接上代码:

复制代码
 1 using UnityEngine;
 2 using System.Collections;
 3 
 4 public class ReadTxt :MonoBehaviour{
 5 
 6     public TextAsset txt;
 7     public static ReadTxt _instance;
 8     string fonttxt;
 9     void Awake() 
10     {
11         _instance = this;
12     }
13 
14     void Start() { }
15 
16     public string GetFont(int ID)
17     {
18         string[] taskinfoArray = txt.ToString().Split('\n');
19         foreach(string str in taskinfoArray){
20         
21             string[] Fontlist = str.Split('|');
22             int id = int.Parse(Fontlist[0]);
23             while (ID== id) {
24                 fonttxt = Fontlist[1];
25                 break;
26             }
27         }
28 
29         return fonttxt;
30     }
31    
32 
33 }
复制代码

 上述用到了单利,单利这里我们就不赘述了。

string[] taskinfoArray = txt.ToString().Split('\n');  这里有些朋友就要问了,Split('\n')是干什么的,它是分割函数,检测是否有换行操作,如果有换行我们把它存在数组里面,
上面的txt文档,我们就是写完一行,肯定要回车换行写下一句,这里就是用这个Split()函数进行检测的。
  好了说到这里,想必大家都清楚了吧。至于调用呢,这个就很简单了。
复制代码
 1 using UnityEngine;
 2 using System.Collections;
 3 
 4 public class TestTxt : MonoBehaviour {
 5 
 6     public UILabel label;
 7 
 8 
 9     void Start() 
10     {
11         string bbb = ReadTxt._instance.GetFont(1001);
12         
13         label.text = bbb;
14     }
15 
16 }
复制代码

然而label显示的 文字必定是:维护公告。  这里我们只是抛砖引玉,所以写的比较粗糙,望大家谅解。



 

posted @   赵不灰  阅读(1061)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示