コード例 #1
0
        private void ReadMonsterConfig()
        {
            string monsterConfigContent =
                ((TextAsset)EditorGUIUtility.Load("Assets/Resources/Config/General/MonsterConfig.txt")).text;

            monsterConfig = JsonMapper.ToObject <MonsterConfig>(monsterConfigContent);
            challengePresetAsset?.SetMonsterConfig(monsterConfig);
        }
コード例 #2
0
        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);
            }
        }