예제 #1
0
    // Spawns assets with name from function above
    private void SpawnAsset(string AssetName)
    {
        int x = 40;
        int y = -40;

        ClearAssetPanels();
        if (AssetName != null)
        {
            // Load all objects from folder
            ObjectsList = Resources.LoadAll(AssetName, typeof(GameObject));
            GameObject AssetPanel;

            // Make a panel sprite for every object in the folder
            foreach (GameObject obj in ObjectsList)
            {
                // Create Panel
                AssetPanel = Instantiate(PanelPrefab, ObjectListContentPanel.transform);

                // Add Asset to panel and name under panel
                SelectAsset panelData = AssetPanel.GetComponent <SelectAsset>();
                panelData.Asset         = obj;
                panelData.AssetNameText = obj.name;

                // Set position of Panel
                RectTransform rt = AssetPanel.GetComponent <RectTransform>();
                rt.anchoredPosition = new Vector2(x, y);

                // Set Preview Sprite of Panel
                SetPanelSprite(AssetPanel, obj, Color.black);
            }
        }
    }
        public static void Dirty()
        {
            // 排序后再序列化,保证节点ID按顺序生成
            SelectTree.SortList();
            SelectTree.RefreshDebugID();
            SelectAsset.Serialize(SelectTree);
            EditorUtility.SetDirty(SelectAsset);

            if (onNeedRepaint != null)
            {
                onNeedRepaint();
            }
        }