宴Assetを使ったことがないのでそこに絡む部分についてはわかりませんが、
おまけ画面はこんな感じのコードでできるのではないでしょうか。
C#
1public Sprite[] imgs; //ボタンに使う画像
2public GameObject button; //ボタンのプレハブ
3public Transform parent; //ボタンを出力する親オブジェクト
4private UnityEngine.Events.UnityAction<int> ad; //ボタンアクションに使うデリゲート
5
6void Awake()
7{
8 ad = (select) => { };
9 ad = OnClick;
10}
11
12void Start()
13{
14 bool[] fg = FragGet();
15//ボタンの出力
16 for(var i =0;i < imgs.lenght;i++){
17 GameObject bt = (GameObject)Instantiate(button,parent); //ボタンのオブジェクトを作る
18 bt.name = "bt"+i; //ボタンの名前を分かりやすく変更する
19 Image img = bt.GetComponent<Image>();
20 img.sprite = imgs[i]; //ボタンに画像をセットする
21 if(fg[i])
22 {
23 bt.GetComponent<Button>().onClick.AddListener(() => ad(i)) //クリック時の関数設定
24 }
25 else
26 {
27 img.color = new Color(0,0,0); //画像を黒にする
28 }
29 }
30
31}
32
33///<summary>宴のシナリオフラグを取得する</summary>
34///<returns>シナリオフラグの状態を返す</returns>
35bool[] FragGet()
36{
37 //ToDo シナリオフラグを取得するしてreturnするコードを書く
38}
39
40///<summary>ボタンをクリックした時の処理</summary>
41///<param name="select">クリックした番号</param>
42///<returns>シナリオフラグの状態を返す</returns>
43public void OnClick(int select)
44{
45 //ToDo ボタンを押したときの処理を書く
46 Debug.Log(select+"が選択されました。");
47}
48
コードの動作テストはしてないので、コードレベルでエラーが出るかもですが、
考え方を学ぶことはできるかと思います。
また、画面レイアウトや画面設計がなく、プログラム側でレイアウトを構築するのか不明なため、
役に立たないかもしれないです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。