public override void OnInspectorGUI()
        {
            var asset = target as EffekseerEffectAsset;

            if (asset == null)
            {
                return;
            }

            EditorGUILayout.LabelField("Data Size", asset.efkBytes.Length.ToString() + " bytes");

            var scale = EditorGUILayout.FloatField("Scale", asset.Scale);

            scale = Math.Max(0, scale);
            if (asset.Scale != scale)
            {
                asset.Scale = scale;
                EditorUtility.SetDirty(asset);
            }

            textureVisible = EditorGUILayout.Foldout(textureVisible, "Texture Resources: " + asset.textureResources.Length);
            if (textureVisible)
            {
                EditorGUI.indentLevel++;
                foreach (var res in asset.textureResources)
                {
                    if (EffekseerTextureResource.InspectorField(res))
                    {
                        EditorUtility.SetDirty(asset);
                    }
                }
                EditorGUI.indentLevel--;
            }

            soundVisible = EditorGUILayout.Foldout(soundVisible, "Sound Resources: " + asset.soundResources.Length);
            if (soundVisible)
            {
                EditorGUI.indentLevel++;
                foreach (var res in asset.soundResources)
                {
                    if (EffekseerSoundResource.InspectorField(res))
                    {
                        EditorUtility.SetDirty(asset);
                    }
                }
                EditorGUI.indentLevel--;
            }

            modelVisible = EditorGUILayout.Foldout(modelVisible, "Model Resources: " + asset.modelResources.Length);
            if (modelVisible)
            {
                EditorGUI.indentLevel++;
                foreach (var res in asset.modelResources)
                {
                    if (EffekseerModelResource.InspectorField(res))
                    {
                        EditorUtility.SetDirty(asset);
                    }
                }
                EditorGUI.indentLevel--;
            }

            if (asset.materialResources != null)
            {
                materialVisible = EditorGUILayout.Foldout(materialVisible, "Material Resources: " + asset.materialResources.Length);
                if (materialVisible)
                {
                    EditorGUI.indentLevel++;
                    foreach (var res in asset.materialResources)
                    {
                        if (EffekseerMaterialResource.InspectorField(res))
                        {
                            EditorUtility.SetDirty(asset);
                        }
                    }
                    EditorGUI.indentLevel--;
                }
            }

            if (asset.curveResources != null)
            {
                curveVisible = EditorGUILayout.Foldout(curveVisible, "Curve Resources: " + asset.curveResources.Length);
                if (curveVisible)
                {
                    EditorGUI.indentLevel++;
                    foreach (var res in asset.curveResources)
                    {
                        if (EffekseerCurveResource.InspectorField(res))
                        {
                            EditorUtility.SetDirty(asset);
                        }
                    }
                    EditorGUI.indentLevel--;
                }
            }
        }