スクリプトで選択肢を作り、UIボタンとして画面に配置しました。
選択肢が押された際に、各選択肢に応じた処理を行いたいのですが、「どのボタンが押されたか」についてどうもスマートな方法が思い浮かばず困っております。
例
セーブデータを管理するマネージャーがあったとします。
ボタンを押された際のロード処理も上記マネージャーが実行するとします。
その中にセーブデータが10個あり、
「セーブ1」
「セーブ2」
「セーブ3」
・・・
と選択肢を作ったとします。
「セーブボタン3」を押されたときに、「セーブ3」を引数にしてセーブデータロードを実行したいのですが、「セーブ3」の受け渡し方に困っております。
試みた解決方法
①
「セーブ1」、「セーブ2」、「セーブ3」に「SaveSlot.cs」というスクリプトを組み、ボタン作成時にその中に何番目のセーブデータか判定する変数「i」を格納しておく。
ボタンが押されると「セーブデータ3」なら「3」という変数をもとにセーブデータロードをする
②
ボタン作成時にボタンのGameObject名を変数と同じ値にして後にその数値を読み込む。
「セーブ3」ボタンが押されるとそのゲームオブジェクト名が「3」となっているのでGameObject.nameをintに変換し、それをもとにセーブデータロードをする
上記どちらも試みたいのですが、いまいちよろしくないと思っております。
①に関しては変数iを持つだけのスクリプトができてしまい、スクリプトが不必要に増えていってしまう。
②に関しては見た目がダサい
変な質問ですが、どう作ってもスマートな作り方にならず、いまいちしっくり来ておりません。
よろしければご助言いただけますと幸いです。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。