unity版本 5.6.1f1
bug1
访问静态类AllGoodsConfig为null
原因:没有赋值
public static class GameInformation{
public const string GoodsConfigFileName = "GoodsConfig";
public static int levelID;
public static float imageQuality;
public static float soundSetting;
public static float soundEffSetting;
//道具信息
public static GoodsConfig AllGoodsConfig;
}
错误代码
//全部道具
public List<GoodsConfig_Unit> Config = new List<GoodsConfig_Unit>();
/// <summary>
/// 在所有物品里面查找物品.
/// </summary>
/// <returns>The goods.</returns>
/// <param name="Name">Name.</param>
public static GoodsConfig_Unit FindGoods(string Name){
for (int i = 0; i < GameInformation.AllGoodsConfig.Config.Count; i++) {
if (GameInformation.AllGoodsConfig.Config [i].Name == Name)
return GameInformation.AllGoodsConfig.Config [i];
}
return null;
}
改正后
//全部道具
public List<GoodsConfig_Unit> Config = new List<GoodsConfig_Unit>();
private void Start()
{
GameInformation.AllGoodsConfig = this;
}
/// <summary>
/// 在所有物品里面查找物品.
/// </summary>
/// <returns>The goods.</returns>
/// <param name="Name">Name.</param>
public static GoodsConfig_Unit FindGoods(string Name){
for (int i = 0; i < GameInformation.AllGoodsConfig.Config.Count; i++) {
if (GameInformation.AllGoodsConfig.Config [i].Name == Name)
return GameInformation.AllGoodsConfig.Config [i];
}
return null;
}
bug2
类Goods无法生成
原因:类Goods继承自MonoBehaviour
MonoBehaviour必须生成在某个固件上
需要AddComponent生成
Goods t = new Goods()不能生成MonoBehaviour
修改方法:由于Good并未使用MonoBehaviour下的方法,所以将MonoBehaviour删去即可。