読者です 読者をやめる 読者になる 読者になる

Unity DeleGateとActionを利用したコインを消費してアイテムを買うSample

目次

  1. 概要
  2. 機能
  3. 説明
  4. サンプルスクリプト

概要

今回は、DeleGateとActionを利用したコインを消費してアイテムを買うSampleを作成する。

機能

  • ボタンをおすとコインが100追加
  • アイテムを買うとコインが表皮される
  • 買えないアイテムのボタンは押せない

f:id:suakijob:20150513004229p:plain
GitHub - suakig/DeleGateActionSample

説明

コインを消費してアイテムを買う機能を実装するためには以下の二つの処理が必要です。

  • コインテキストの更新処理
  • 各アイテムごとに、現在の所持金で買えないアイテムのボタンを押せないようにする処理。

しかし、いつコインが消費されるかプログラム内部ではわからないためUpdateメソッド内で毎回チェックするようなコードを書かなければならない

そこで、DeleGateとActionを利用し機能を実装します。

  • スクリプトで呼び出したいメソッドをあらかじめ登録して置く(OnCoinChange)
  • 更新処理が行われた時に、自動で呼び出しを行う。

サンプルスクリプト

DeleGateAction.cs

メソッドを呼び出す。

        OnCoinChange (PlayerPrefs.GetInt (COIN_KEY, 0));

コインの数値が変更された時に登録されたメソッドを呼び出す。
gist.github.com

CoinText.cs

メソッドの登録。

        DeleGateAction.OnCoinChange += OnCoinChange;

文字の更新メソッドを登録する。
gist.github.com

ItemButton.cs

購入可能かを設定するメソッドを登録する。
gist.github.com
削除されるオブジェクトの場合は削除時に以下のコードを書くこと

DeleGateAction.OnCoinChange -= OnCurrencyBalanceChanged;

次の記事

ショップのUIをdelegateを利用して作成する。
yasuaki-ohama.hatenablog.com