UnityでNCMB上のデータを取得し配列に追加する方法を模索

NCMBを利用して、外部にあるデータを読み込んで問題に使用する方法を模索していたら出来上がったので。写真一枚目のデータを下のコードで取得して配列に格納する。


using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using NCMB;
using System.Linq;


public class GetWordFromServer : MonoBehaviour
{
    private string[] hiragana = {};
    private string[] kannji = {};
    private NCMBQuery<NCMBObject> query;
    // Start is called before the first frame update
    void Start()
    {
        print("before" + hiragana.Length);
        getword();
    }

    void Update()
    {
        print("after" + hiragana.Length);
    }

    void getword (){
    NCMBQuery<NCMBObject> query = new NCMBQuery<NCMBObject> ("questions");

    // id <= 5に該当するデータを選定する場合引数に数字(ここでは変数名request)を入れて下の文章を使用
    //query.WhereLessThan("id",request);

    // 配列操作用のカウンター
    int counter =0;
    //検索を行う
    query.FindAsync ((List<NCMBObject> objList ,NCMBException e) => {
        if (e != null) {
            //検索失敗時の処理
            print("null");
        } else {
            foreach (NCMBObject obj in objList) {
                Array.Resize(ref hiragana, hiragana.Length + 1);
                var getDate = obj ["hiragana"].ToString();
                hiragana[counter] = getDate;
                counter++;
            } 
        }
    });
    }
}

一番下は配列の最後尾を出力したものです。

問題点と課題

・関数実行からデータ取得まで多少時間がかかるのでコルーチンなどの機能で遅らせる必要。

・今回のコードではコメントアウトしているが、特定の数に限定して取ってくるようにする。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です