Exemplo n.º 1
0
        /// <summary>
        ///初始化
        /// </summary>
        public override void Init()
        {
            //TODO
            //一般情况下 打开unity.或者reloadAssembly 会重新初始化框架
            //但是ExitPlaymode后不会触发ReloadAssembly,所以有些静态对象会缓存
            if (MainLayer != null)
            {
                // Debug.LogError("已经执行过Awake -" + this.GetHashCode());
                return;
            }

            base.Init();
            //

            MainLayer = this.AddLayer();
            //
            foreach (var classData in this.GetAllClassDatas())
            {
                var attr = classData.Attribute as ScreenViewAttribute;

                var sv = CreateInstance <IScreenView>(attr.IntTag);
                //设置name属性
                sv.Name = attr.IntTag;
                MainLayer.RegisterScreen(sv);
                //
                //BDebug.Log("创建screen:" + attr.IntTag, "green");
            }
        }
Exemplo n.º 2
0
        /// <summary>
        ///初始化
        /// </summary>
        public override void Init()
        {
            if (MainLayer != null)
            {
                Debug.LogError("已经执行过Awake");
                return;
            }

            base.Init();
            //

            MainLayer = this.AddLayer();
            //
            foreach (var classData in this.GetAllClassDatas())
            {
                var attr = classData.Attribute as ScreenViewAttribute;

                var sv = CreateInstance <IScreenView>(attr.IntTag);
                //设置name属性
                var t = sv.GetType();
                t.GetProperty("Name").SetValue(sv, attr.IntTag, null);
                MainLayer.RegisterScreen(sv);
                //
                BDebug.Log("创建screen:" + attr.IntTag, "green");
            }
        }