Example #1
0
    private void update_gameobject(all_data data)
    {
        set_check_delete_.Clear();
        foreach (client_data d in data.data)
        {
            if (!dict_.ContainsKey(d.id))
            {
                acchub_client_data o = d_create_object_?.Invoke(d.id);
                dict_[d.id] = o;
            }
            set_check_delete_.Add(d.id);
            dict_[d.id].update_acchub_data(d.hz, d.power);
        }
        List <int> list_delete = new List <int>();

        foreach (KeyValuePair <int, acchub_client_data> kv in dict_)
        {
            if (!set_check_delete_.Contains(kv.Key))
            {
                d_delete_object_?.Invoke(kv.Key, kv.Value);
                list_delete.Add(kv.Key);
            }
        }
        foreach (int id in list_delete)
        {
            dict_.Remove(id);
        }
    }
Example #2
0
    IEnumerator get_all_data(string url)
    {
        UnityWebRequest request = UnityWebRequest.Get(url);

        // リクエスト送信
        yield return(request.SendWebRequest());

        // 通信エラーチェック
        if (request.isNetworkError)
        {
            Debug.Log(request.error);
        }
        else
        {
            if (request.responseCode == 200)
            {
                // UTF8文字列として取得する
                string text = request.downloadHandler.text;
                Debug.Log(text);
                all_data d = JsonUtility.FromJson <all_data>(text);
                Debug.Log("num_client:" + d.data.Count);
                update_gameobject(d);
            }
        }
    }