private void ReadMonsterConfig() { string monsterConfigContent = ((TextAsset)EditorGUIUtility.Load("Assets/Resources/Config/General/MonsterConfig.txt")).text; monsterConfig = JsonMapper.ToObject <MonsterConfig>(monsterConfigContent); challengePresetAsset?.SetMonsterConfig(monsterConfig); }
private void OnGUI() { if (monsterConfig == null) { ReadMonsterConfig(); } // EditorGUIUtility.labelWidth = 300; if (challengePresetAsset == null) { challengePresetAsset = Resources.Load <ChallengePresetAsset>(pathToFile); challengePresetAsset.Deserialize(); } if (challengePresetAsset.data == null || challengePresetAsset.data.Length < 1) { challengePresetAsset.data = new JsonSerializationOperation(new DungeonSpawnConfig.Challenge()).ActToStringArray(); challengePresetAsset.Deserialize(); } if (challengePresetAsset.challenge == null) { challengePresetAsset.Deserialize(); } if (challengePresetAsset.monsterConfig == null) { challengePresetAsset.SetMonsterConfig(monsterConfig); } EditorGUILayout.Space(); if (GUILayout.Button("Refresh Config")) { ReadMonsterConfig(); } EditorGUILayout.Space(); DrawHeader(); EditorGUI.BeginChangeCheck(); using (new EditorHelper.ScrollView(scrollPosition)) { challengePresetAsset.OnGUI(); } bool changed = EditorGUI.EndChangeCheck(); if (changed) { challengePresetAsset.Serialize(); EditorUtility.SetDirty(challengePresetAsset); } }