// Use this for initialization void Start() { instance = this; LevelConfigurationData configData = JsonUtility.FromJson <LevelConfigurationData>(dataFile.text); foreach (var level in configData.leveldefinitions) { _levels.Add(level.LevelNumber, level); } }
LevelConfigurationData GetConfigurationData(int levelId) { // Get the configuration data string path = LevelConfigurationData.ResourceFolder; path += string.Format(LevelConfigurationData.FileNamePattern, levelId); Debug.Log("Path:" + path); LevelConfigurationData data = Resources.Load <LevelConfigurationData>(path); Debug.Log("ConfData:" + data.name); return(data); }
public static void CreateLevelConfigurationData() { LevelConfigurationData asset = ScriptableObject.CreateInstance <LevelConfigurationData>(); string name = LevelConfigurationData.FileNamePattern + ".asset"; string folder = System.IO.Path.Combine("Assets/Resources/", LevelConfigurationData.ResourceFolder); if (!System.IO.Directory.Exists(folder)) { System.IO.Directory.CreateDirectory(folder); } AssetDatabase.CreateAsset(asset, folder + name); AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = asset; }
private void CreateScriptable() { EditorGUILayout.Space(); EditorGUILayout.Space(); scriptable = (LevelConfigurationData)EditorGUILayout.ObjectField("Select Scriptable", scriptable, typeof(LevelConfigurationData), false); EditorGUILayout.Space(); EditorGUILayout.Space(); selectScriptableName = EditorGUILayout.BeginToggleGroup("Select Scriptable Name", selectScriptableName); if (selectScriptableName) { scriptableName = EditorGUILayout.TextField("Scriptable Name", scriptableName); } EditorGUILayout.EndToggleGroup(); EditorGUILayout.Space(); if (GUILayout.Button("Create Scriptable")) { LevelConfigurationData data = CreateInstance <LevelConfigurationData>(); var path = ""; if (selectScriptableName) { path = "Assets/Resources/Data/" + scriptableName + ".asset"; } else { path = "Assets/Resources/Data/LevelConfigurationData.asset"; } path = AssetDatabase.GenerateUniqueAssetPath(path); AssetDatabase.CreateAsset(data, path); } EditorGUILayout.LabelField("Data Path: Assets/Resources/Data"); }