public override void OnInspectorGUI()
    {
        TileListEntity database = target as TileListEntity;

        if (GUILayout.Button("Button"))
        {
            // 画像データを取得
            Sprite[] sprites = AssetDatabase.LoadAllAssetsAtPath("Assets/Image/images_size_32.png").OfType <Sprite>().ToArray();
            database.tileList.Clear();

            for (int i = 0; i < sprites.Length; i++)
            {
                Panel panel = new Panel();
                panel.sprite = sprites[i];
                if (i < wordList.Count)
                {
                    panel.words = wordList[i];
                }
                else
                {
                    panel.words.Add("ななし");
                }
                database.tileList.Add(panel);
            }
        }
        base.OnInspectorGUI();
        EditorUtility.SetDirty(target);
    }
Beispiel #2
0
    // データベースからランダムにデータを持ってくる
    Panel[] GetRandomPanelDataSet(TileListEntity database)
    {
        // UnityEngine.Random.InitState(1);
        // データが壊れないようにコピーする
        List <Panel> databaseCopy = new List <Panel>(database.tileList);

        // 渡すデータを用意する
        Panel[] panels = new Panel[panelCores.Length];
        for (int i = 0; i < panelCores.Length; i++)
        {
            // ランダムに選んで格納
            int r = UnityEngine.Random.Range(1, databaseCopy.Count); // データベースの0には人を入れるから1以上
            panels[i] = databaseCopy[r];
            // 選んだものは除外
            databaseCopy.RemoveAt(r);
            if (databaseCopy.Count == 0)
            {
                break;
            }
        }
        return(panels);
    }