internal override FireNode genChild(DBResult ds) { RemoteData rd = parseRemoteData(ds); if (rd == null) { return(null); } FireNode fn = new FireNode(pid, ds.key()); GameObject go = null; if (FirePlayerQueuer.KEY_TAG.Equals(rd.tag)) { go = FirebaseManager.getInstance().playerQueuer.gameObject; } else { FireRepo.Handler h = FirebaseManager.getRepo().handler; go = h.onDataInit(pid, ds.key(), fn, rd); } InitBundle ib = new InitBundle(fn, rd); go.SendMessage("initAtFire", ib, SendMessageOptions.DontRequireReceiver); return(fn); }
private void onChildRemoved(DBResult ea) { if (!this.ContainsKey(ea.key())) { return; } T t = this[ea.key()]; onChildRemoved(ea.key(), t); this.Remove(ea.key()); }
private void onChildAdded(DBResult ea) { if (ea.key().StartsWith(FireRepo.SKIP_KEY_PREFIX)) { return; } if (this.ContainsKey(ea.key())) { return; } this.Add(ea.key(), genChild(ea)); }
internal override ObjMap genChild(DBResult ds) { ObjMap obj = new ObjMap(ds.key()); obj.injectData(ds); return(obj); }
private void onPlayerLeave(DBResult obj) { data.intoMap.Remove(obj.key()); }