Пример #1
0
 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);
 }
Пример #2
0
        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);
        }
Пример #3
0
 public static bool TryGetLevelSetting(byte id, out Data.LevelSetting setting)
 {
     return(levelSettingDict.TryGetValue(id, out setting));
 }