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);
        }
 public void removeMe()
 {
     if (!removed)
     {
         removed = true;
         dataFire.removeValueChanged(onValueChanged);
         dataFire.removeMe();
         FirebaseManager.getRepo().remove(pid, oid);
         onRemoveAction();
     }
 }
 public void init(string p, string o)
 {
     if (node != null)
     {
         return;
     }
     pid  = p;
     oid  = o;
     node = FirebaseManager.getRepo().get(pid, oid);
     node.addValueChangedListener(onValueChanged);
     node.changePostFunc = (onNotifyChangePost);
 }