Example #1
0
        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);
        }
Example #2
0
        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);
            // ----------------------
        }