我目前以Unity开发基于转弯的RPG游戏。为了存储玩家信息,怪物列表和项目列表,我使用静态类。
public static class GlobalVariables
{
public static BaseMonster currentMonster;
public static BaseCharacter player;
public static List<BaseMonster> monsterDatabase;
public static Dictionary<string, BaseItem> itemDatabase;
}
我在JSON文件加载时设置了此值,而不是将其用于我的所有场景。
我想知道它是否像大多数人对全球变量的看法一样有害?
注意:CurrentMonster是在玩家选择怪物并在"战斗场景"加载时使用的信息,以便应加载什么怪物。
它不是严重或有害的,但是我建议使用Singelton:https://en.wikipedia.org/wiki/wiki/singleton_pattern,您只使用一个静态成员。这也是一个示例:https://msdn.microsoft.com/en-us/library/ff650316.aspx