protected override IEnumerator OnStart() { yield return(BrickMgrM.WaitModule <IPoolTag>()); var aop = Resources.LoadAsync(_path); yield return(aop); pool = BrickMgrM.PoolModule.GetOrCreate <T>(aop.asset as GameObject); }
protected override IEnumerator AfterStart() { this.RegisterSelf(this); yield return(BrickMgrM.WaitModule <IPoolTag>()); slotsList = new List <UI_LevelSlot>(); _content = gameObject.Descendants().Where(x => x.name == "Content").First().transform; _backButton = _backButton.GetComponentFromChildren(this, nameof(_backButton)); _backButton.OnClickAsObservable().TakeUntilDestroy(this).Subscribe(__ => { this.Hide(); BrickMgrM.UIModule.GetElement <UI_MainMenu>().Show(); }); // ---------------------- string path = AssetPath.PrefabPrefix + AssetPath.LevelSlotButton; var aop = Resources.LoadAsync(path); Debug.Log(path); yield return(aop); // ---------------------- //创建物品池 pool = BrickMgrM.PoolModule.GetOrCreate <UI_LevelSlot>(aop.asset as GameObject); // pool.setInActiveWhenReturn = false; pool.parent = _content; pool.onBeforeRent += x => { x.transform.SetParent(_content); x.transform.localScale = Vector3.one; x.transform.localPosition = Vector3.zero; }; pool.onBeforeReturn += x => { // x.transform.SetParent(_content); }; pool.PreloadAsync(100, 10).Subscribe(); PreloadLevelSlot(100, 1, EDifficulty.Eazy); // ---------------------- }