AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

ScriptでのUI生成

kindle版が安かった時に「UnityゲームUI実践ガイド」を買ってますが、
そこにスクリプトでuGUIを生成する解説があって、以下の様なコードがありました。
実際に動かしてるコードではないので、いづれ時間をとって実験したいです。

public RectTransform parent;
public RectTransform CreateUi()
{
	GameObject go = new GameObject();
	RectTransform rect = go.AddComponent<RectTransfrom>();
	rect.setParent(parent);
	return rect;
}
public Image CreateImage()
{
	return CreateUi().gameObject.AddComponent<Image>();
}

Image部品を追加するというより、RectTransformの入れ物を生成して、そのComponentとしてのImageを追加するというイメージですね。
完全にコードだけでUIを構築できれば流用性が増すのでやりたいところです。


ボタンへのクリック処理の追加も、ActionScriptみたいなイベントリスナー式もできるみたいで、
今まではいちいちC#スクリプトを作って、UI上で登録してましたが、非常に面倒なので、
全部スクリプトでやりたい所です。

Button button;
button.onClick.AddListener(OnButtonClick);
void onButtonClick()
{
	Debug.Log("click!");
}

もしUIのライブラリを作るとすると、全体がtabになっていて、tabが切り替えられて、
各tabの中に、buttonやImageを配置できるような感じ。
例えば

Tab tb1=CreateTab(title);
Tab tb2=tb1.AddTab(title2);
Tab tb3=tb2.AddTab(title3);

こんな感じでtabが3つできて、

tb1.AddButton(buttonTitle1,OnClick,1);
tb1.AddButton(buttonTitle2,OnClick,2);
tb1.AddButton(buttonTitle3,OnClick,3);

これでtab1にボタンが3つできる。
tb1.SetActive(true)を実行すると自動的に他のtabが非表示になってtb1が表示される。
みたいな。


Unity ゲームUI 実践ガイド