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); } }
private void Start() { acchub_client_data_ = gameObject.GetComponent <acchub_client_data>(); acchub_client_data_.d_on_shake_ += on_shake; rigid_body_ = gameObject.GetComponent <Rigidbody>(); gameObject.GetComponent <MeshRenderer>().materials[0].color = new Color(Random.Range(0.2f, 1.0f), Random.Range(0.2f, 1.0f), Random.Range(0.2f, 1.0f)); }
void delete_object(int id, acchub_client_data c) { Destroy(c.gameObject, 0.1f); }