public static bool TryGetLevelSetting(string sceneName, out Data.LevelSetting setting) { foreach (var item in levelSettingDict.Values) { if (item.Scene == sceneName) { setting = item; return(true); } } setting = Data.LevelSetting.Null; return(false); }
public static bool TryLoadLevelSetting() { if (levelSettingLoaded) { return(true); } TextAsset _text = Resources.Load <TextAsset>(LEVEL_SETTING_JSON_PATH); #if UNITY_EDITOR if (_text == null) { Debug.LogErrorFormat("Can't load '{0}'", LEVEL_SETTING_JSON_PATH); return(false); } #endif Data.LevelSettingJson setting = JsonUtility.FromJson <Data.LevelSettingJson>(_text.text); Resources.UnloadAsset(_text); for (int i = 0; i < setting.Levels.Length; i++) { Data.LevelSetting level = setting.Levels[i]; if (levelSettingDict.ContainsKey(level.ID)) { #if UNITY_EDITOR Debug.LogErrorFormat("Level setting dict alreay has key '{0}'", level.Scene); #endif } else { levelSettingDict.Add(level.ID, level); } } levelSettingLoaded = true; return(true); }
public static bool TryGetLevelSetting(byte id, out Data.LevelSetting setting) { return(levelSettingDict.TryGetValue(id, out setting)); }