//-------∽-★-∽------∽-★-∽--------∽-★-∽LoadItem∽-★-∽--------∽-★-∽------∽-★-∽--------// LoadItem AddLoadItem(string url_, CALLBACK_GO onComplete_, string referId_) { LoadItem item = m_itemPool.Pop(); item.Init(url_, onComplete_, referId_); m_itemList.Add(item); if (referId_ != null) { Refer.AttachDeactive(referId_, onDeactive); //监听沉默 } return(item); }
/// <param name="type_"></param> /// <param name="func_"></param> /// <param name="parent_">此obs所在的队列</param> /// <param name="refer_"></param> public void Init(string type_, CALLBACK_1 func_, List <Observer> parent_, object refer_) { type = type_; func = func_; parent = parent_; refer = refer_; if (refer != null) { //监听目标沉默 Refer.AttachDeactive(refer_, onDeacive); } //else //{ // Refer.Assert(refer_); //} }
//-------∽-★-∽------∽-★-∽--------∽-★-∽引用相关∽-★-∽--------∽-★-∽------∽-★-∽--------// void RetainImage(Image image_, string referId_) { if (m_image2ref.ContainsKey(image_)) { if (m_image2ref[image_] == referId_) //已经是这个引用者 { return; } } m_image2ref[image_] = referId_; HashSet <Image> imageHash; if (!m_ref2imgHash.TryGetValue(referId_, out imageHash)) { imageHash = new HashSet <Image>(); m_ref2imgHash[referId_] = imageHash; Refer.AttachDeactive(referId_, OnDeactive); //监听沉默 } imageHash.Add(image_); }
static void SetupEvent() { m_mainLoader.Attach(LOAD_EVT.COMPLETE, onMainLoadEvt, null); Refer.AttachDeactive(onReferDeactive); //监听所有的deactive }
protected override void SetupEvent() { base.SetupEvent(); Refer.AttachDeactive(onReferDeactive); //监听所有的deactive }