G2Uでゲームのデータを作ってみる

ayumegu(プログラマー)
よろしくお願いします。

引き続き前回言語対応でつかったG2Uの今度はパラメータ周りに使ってみる。

まぁこんな感じのガチャのようなデータを作成してっと・・・。

今回はGameObject DataBaseを使用してみる。

これはシーン上にGoogle2uDatabaseが作成されるやつ。
使うときはそれを取得してアタッチされたクラスのメソッドを呼べばOK
インスペクターでデータが見れます。ここからはいじれないようになっているので安心。

ちなみにStaticDataBaseの方だとこんな感じのクラスができます。

ちょっとしたソースを書いて完成
作成したのは確率でアイテムが出るだけの簡単なもの。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using UnityEngine;
using System.Collections;
using Google2u;

public class TestController : MonoBehaviour {
  
  private Gacha _gacha;
  public UISprite foodSprite;
  public UILabel resultLabel;
  public UILabel rareText;

  void Start () {
      _gacha = GetComponent<Gacha>();
      foodSprite.spriteName = "";
  }
  
  public void StartClick()
  {
      int count = Random.Range( 0, _gacha.Rows.Count);
      int maxRate = 0;
      for(int i = 0; i < _gacha.Rows.Count; i++)
      {
          maxRate += _gacha.Rows[i]._Rate;
      }
      int rand = Random.Range(1, maxRate + 1);
      int nowRate = 0;
      for(int i = 0; i < _gacha.Rows.Count; i++)
      {
          nowRate += _gacha.Rows[i]._Rate;
          if(nowRate >= rand)
          {
              ShowResult(_gacha.Rows[i]);
              break;
          }
      }
  }

  private void ShowResult(GachaRow data)
  {
      string name = data._Name;
      rareText.text = "";
      for(int i = 0; i < data._Rare; i++)
      {
          rareText.text += "★";
      }
      foodSprite.spriteName = data._ImgPath;
      resultLabel.text = data._Name;
  }
  
}

感想

普段はマスター系のデータを作るときはExcelからcsvで書き出したりしていましたが、 これだととても楽にデータが作成できます。
クラスも自動で作成してくれるのでらくちんです^^
はい、こんな感じで今回はここまで〜