Пример #1
0
    void OnGUI()
    {
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Path");
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        pathName = EditorGUILayout.TextField(pathName);
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("Save"))
        {
            st.SaveAssetBundle(pathName);
        }
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("Load Bundle"))
        {
            listNames = st.LoadAssetNames();
            if (listNames.Length > 0)
            {
                loaded     = true;
                position   = 0;
                listAssets = st.LoadAssetBundle(listNames[position]);
            }
            else
            {
                loaded = false;
            }
        }
        EditorGUILayout.EndHorizontal();

        if (loaded)
        {
            EditorGUILayout.BeginHorizontal();
            int oldPos = position;
            position = EditorGUILayout.Popup(position, listNames);
            if (position != oldPos)
            {
                listAssets = st.LoadAssetBundle(listNames[position]);
            }

            EditorGUILayout.EndHorizontal();

            if (listAssets != null)
            {
                for (var i = 0; i < listAssets.Count; i++)
                {
                    AssetBundleController.AssetStruct node = listAssets[i];
                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField(node.Assetname);
                    EditorGUILayout.EndHorizontal();

                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Object Name");
                    node.ObjectName = EditorGUILayout.TextField(node.ObjectName);
                    EditorGUILayout.EndHorizontal();

                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Object Description");
                    node.ObjectDescription = EditorGUILayout.TextField(node.ObjectDescription);
                    EditorGUILayout.EndHorizontal();

                    EditorGUILayout.BeginHorizontal();
                    if (GUILayout.Button("Add"))
                    {
                        st.InstantiateObjectFromBundle(node);
                    }
                    EditorGUILayout.EndHorizontal();
                    listAssets[i] = node;
                }
            }
        }
    }