예제 #1
0
 /// <summary>
 /// 设置标尾更新函数
 /// </summary>
 /// <param name="constructor">热更新的中间件</param>
 public void SetTailUpdate(HotMiddleware constructor)
 {
     for (int i = 0; i < Tails.Count; i++)
     {
         HGUIManager.RecycleUI(Tails[i].target);
     }
     Tails.Clear();
     TailCreator = constructor;
 }
예제 #2
0
 /// <summary>
 /// 设置项目更新函数
 /// </summary>
 /// <param name="constructor">热更新的中间件</param>
 public void SetItemUpdate(HotMiddleware constructor)
 {
     for (int i = 0; i < Items.Count; i++)
     {
         HGUIManager.RecycleUI(Items[i].target);
     }
     Items.Clear();
     ItemCreator = constructor;
 }
예제 #3
0
        /// <summary>
        /// 设置标尾更新函数
        /// </summary>
        /// <typeparam name="T">UI模板</typeparam>
        /// <typeparam name="U">数据模板</typeparam>
        /// <param name="action">更新函数回调</param>
        public void SetTailUpdate <T, U>(Action <T, U, int> action) where T : class, new()
        {
            for (int i = 0; i < Tails.Count; i++)
            {
                HGUIManager.RecycleUI(Tails[i].target);
            }
            Tails.Clear();
            var m = new Middleware <T, U>();

            m.Invoke    = action;
            TailCreator = m;
        }
예제 #4
0
 /// <summary>
 /// 释放资源
 /// </summary>
 public void Dispose()
 {
     if (Left.realLine | Right.realLine | Top.realLine | Down.realLine)
     {
         Left.Right.Remove(this);
         Right.Left.Remove(this);
         Top.Down.Remove(this);
         Down.Top.Remove(this);
         MergeArea();
         HGUIManager.RecycleUI(model);
         layout.areas.Remove(this);
     }
 }
예제 #5
0
 /// <summary>
 /// 释放资源
 /// </summary>
 public void Dispose()
 {
     if (LineStart != null)
     {
         LineStart.AdjacentLines.Remove(this);
     }
     if (LineEnd != null)
     {
         LineEnd.AdjacentLines.Remove(this);
     }
     layout.lines.Remove(this);
     HGUIManager.RecycleUI(Enity);
 }
예제 #6
0
 /// <summary>
 /// 释放资源
 /// </summary>
 public virtual void Dispose()
 {
     if (Main != null)
     {
         HGUIManager.RecycleUI(Main);
     }
     point--;
     if (buff[point] != null)
     {
         buff[point].Index = Index;
     }
     buff[Index] = buff[point];
     buff[point] = null;
 }
예제 #7
0
 /// <summary>
 /// 释放缓存资源
 /// </summary>
 public void Dispose()
 {
     for (int i = 0; i < Titles.Count; i++)
     {
         HGUIManager.RecycleUI(Titles[i].target);
     }
     for (int i = 0; i < Items.Count; i++)
     {
         HGUIManager.RecycleUI(Items[i].target);
     }
     for (int i = 0; i < Tails.Count; i++)
     {
         HGUIManager.RecycleUI(Tails[i].target);
     }
     Titles.Clear();
     Items.Clear();
     Tails.Clear();
 }
예제 #8
0
        /// <summary>
        /// 初始化
        /// </summary>
        /// <param name="fake">数据模型</param>
        /// <param name="element">元素主体</param>
        public override void Initial(FakeStruct fake, UIElement element, UIInitializer initializer)
        {
            base.Initial(fake, element, initializer);
            LineLevel = Enity.Find("LineLevel");
            AreaLevel = Enity.Find("AreaLevel");
            LineMod   = HGUIManager.FindChild(fake, "Line");
            AreaMod   = HGUIManager.FindChild(fake, "Area");
            HGUIManager.RecycleUI(Enity.Find("Line"));
            HGUIManager.RecycleUI(Enity.Find("Area"));
            InitialFixLine();
            InitialArea();
            Enity.SizeChanged = SizeChanged;
            var ex = UIElementLoader.GetCompositeData(fake);

            if (ex != null)
            {
                LoadFromBuffer(ex);
            }
        }