/// <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); element.SizeChanged = (o) => { Refresh(); }; eventCall = Enity.RegEvent <UserEvent>(); eventCall.PointerDown = (o, e) => { UpdateVelocity = false; }; eventCall.Drag = (o, e, s) => { Scrolling(o, s); }; eventCall.DragEnd = OnDragEnd; eventCall.MouseWheel = (o, e) => { Point += BounceBack((e.MouseWheelDelta * 100)); Order(); UpdateVelocity = true; }; eventCall.ForceEvent = true; Size = Enity.SizeDelta; eventCall.CutRect = true; BodyParent = element.Find("Bodys"); TitleParent = element.Find("Titles"); HGUIManager.RecycleChild(Enity, new string[] { "Bodys", "Titles" }); TitleMod = HGUIManager.FindChild(fake, "Title"); ItemMod = HGUIManager.FindChild(fake, "Item"); TailMod = HGUIManager.FindChild(fake, "Tail"); Body = HGUIManager.FindChild(fake, "Body"); ItemSize = UIElementLoader.GetSize(ItemMod); TitleSize = UIElementLoader.GetSize(TitleMod); if (TailMod != null) { TailSize = UIElementLoader.GetSize(TailMod); } }
/// <summary> /// 初始化 /// </summary> /// <param name="fake">数据模型</param> /// <param name="element">主体元素</param> public override void Initial(FakeStruct fake, UIElement element, Initializer initializer) { base.Initial(fake, element, initializer); element.SizeChanged = (o) => { Refresh(); }; eventCall = Enity.RegEvent <UserEvent>(); eventCall.Drag = (o, e, s) => { Scrolling(o, s); }; eventCall.DragEnd = (o, e, s) => { Scrolling(o, s); }; eventCall.ScrollEndY = OnScrollEnd; eventCall.Scrolling = Scrolling; eventCall.ForceEvent = true; Size = Enity.SizeDelta; eventCall.CutRect = true; var trans = element.transform; BodyParent = trans.Find("Bodys"); TitleParent = trans.Find("Titles"); HGUIManager.GameBuffer.RecycleChild(Enity.gameObject, new string[] { "Bodys", "Titles" }); TitleMod = HGUIManager.FindChild(fake, "Title"); ItemMod = HGUIManager.FindChild(fake, "Item"); TailMod = HGUIManager.FindChild(fake, "Tail"); Body = HGUIManager.FindChild(fake, "Body"); unsafe { ItemSize = ((UITransfromData *)ItemMod.ip)->size; TitleSize = ((UITransfromData *)TitleMod.ip)->size; if (TailMod != null) { TailSize = ((UITransfromData *)TailMod.ip)->size; } } }
public override void Initial(FakeStruct mod, UIElement script) { base.Initial(mod, script); Main = script.transform; int c = Main.childCount; if (c > 0) { var it = Main.Find("Item").gameObject; HGUIManager.GameBuffer.RecycleGameObject(it); var sli = Main.Find("Slider"); if (sli != null) { var ui = sli.GetComponent <UIElement>(); Slider = ui.composite as UISlider; } ItemMod = HGUIManager.FindChild(mod, "Item"); unsafe { ItemSize = ((TransfromData *)ItemMod.ip)->size; var ex = mod.buffer.GetData(((TransfromData *)mod.ip)->ex) as FakeStruct; if (ex != null) { ScrollInfo *tp = (ScrollInfo *)ex.ip; scrollType = tp->scrollType; MinBox = tp->minBox; } } } }
public HotUILinker(UIContainer container, string mod) { con = container; model = HGUIManager.FindChild(container.model, mod); middle = new ObjectLinker(container); middle.ItemUpdate = MItemUpdate; middle.CalculItemHigh = MCalculItemHigh; middle.ItemCreate = MItemCreate; initializer = new UIInitializer(HotUIBase.ObjectFields(typeof(T))); }
/// <summary> /// 构造函数 /// </summary> /// <param name="container">容器实例</param> /// <param name="mod">模型名称</param> public UILinker(UIContainer container, string mod) { if (container.model == null) { return; } con = container; model = HGUIManager.FindChild(container.model, mod); container.linkers.Add(this); initializer = new UIInitializer(TempReflection.ObjectFields(typeof(T))); }
/// <summary> /// 初始化函数 /// </summary> /// <param name="fake">数据模型</param> /// <param name="element">UI主体元素</param> public override void Initial(FakeStruct fake, UIElement element, UIInitializer initializer) { contents.Clear(); base.Initial(fake, element, initializer); Auxiliary = HGUIManager.FindChild(fake, "Auxiliary"); Drag = element.Find("Drag"); Drag.activeSelf = false; MainContent = new DesignedDockAuxiliary(this); MainContent.Initial(MainArea, element.Find("Auxiliary")); contents.Add(MainContent); MainContent.SetParent(MainArea); }
public override void Initial(FakeStruct fake, UIElement element) { contents.Clear(); base.Initial(fake, element); Auxiliary = HGUIManager.FindChild(fake, "Auxiliary"); var trans = element.transform; Drag = trans.Find("Drag").GetComponent <UIElement>(); Drag.gameObject.SetActive(false); MainContent = new DesignedDockAuxiliary(this); MainContent.Initial(MainArea, trans.Find("Auxiliary").GetComponent <UIElement>()); contents.Add(MainContent); MainContent.SetParent(MainArea); }
public override void Initial(FakeStruct fake, UIElement element) { base.Initial(fake, element); var mod = Enity.transform; LineLevel = mod.Find("LineLevel"); AreaLevel = mod.Find("AreaLevel"); LineMod = HGUIManager.FindChild(fake, "Line"); AreaMod = HGUIManager.FindChild(fake, "Area"); HGUIManager.GameBuffer.RecycleGameObject(mod.Find("Line").gameObject); HGUIManager.GameBuffer.RecycleGameObject(mod.Find("Area").gameObject); InitialFixLine(); InitialArea(); Enity.SizeChanged = SizeChanged; }
/// <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); } }
public override void Initial(FakeStruct mod, UIElement script, UIInitializer initializer) { base.Initial(mod, script, initializer); ItemMod = HGUIManager.FindChild(BufferData, "Item"); ContentMod = HGUIManager.FindChild(BufferData, "Content"); HGUIManager.RecycleChild(script); var m = new Middleware <MenuItem, MenuContext>(); m.Invoke = ItemUpdate; creator = m; if (ItemMod != null) { ItemH = UIElementLoader.GetSize(ItemMod).y; } if (ContentMod != null) { ContentW = UIElementLoader.GetSize(ContentMod).x; } CurItem.Context = new MenuContext(); }
public override void Initial(FakeStruct fake, UIElement script) { base.Initial(fake, script); eventCall = script.RegEvent <UserEvent>(); eventCall.Drag = (o, e, s) => { Scrolling(o, s); }; eventCall.DragEnd = (o, e, s) => { Scrolling(o, s); }; eventCall.Scrolling = Scrolling; eventCall.ForceEvent = true; eventCall.AutoColor = false; Size = Enity.SizeDelta; eventCall.CutRect = true; ItemMod = HGUIManager.FindChild(fake, "Item"); if (ItemMod != null) { HGUIManager.GameBuffer.RecycleChild(script.gameObject); unsafe { ItemSize = ((TransfromData *)ItemMod.ip)->size; } ItemHigh = ItemSize.y; } Enity.SizeChanged = (o) => { Refresh(); }; }
/// <summary> /// 初始化 /// </summary> /// <param name="fake">数据模型</param> /// <param name="element">元素主体</param> public override void Initial(FakeStruct fake, UIElement element, Initializer initializer) { base.Initial(fake, element, initializer); var mod = Enity.transform; LineLevel = mod.Find("LineLevel"); AreaLevel = mod.Find("AreaLevel"); LineMod = HGUIManager.FindChild(fake, "Line"); AreaMod = HGUIManager.FindChild(fake, "Area"); HGUIManager.GameBuffer.RecycleGameObject(mod.Find("Line").gameObject); HGUIManager.GameBuffer.RecycleGameObject(mod.Find("Area").gameObject); InitialFixLine(); InitialArea(); Enity.SizeChanged = SizeChanged; var ex = UITransfromLoader.GetCompositeData(fake); if (ex != null) { LoadFromBuffer(ex); } }
public override void Initial(FakeStruct fake, UIElement script, UIInitializer initializer) { base.Initial(fake, script, initializer); eventCall = script.RegEvent <UserEvent>(); eventCall.PointerDown = (o, e) => { UpdateVelocity = false; }; eventCall.Drag = (o, e, s) => { Scrolling(o, s); }; eventCall.DragEnd = OnDragEnd; eventCall.MouseWheel = (o, e) => { Scrolling(o, new Vector2(0, e.MouseWheelDelta * 100)); }; eventCall.ForceEvent = true; eventCall.AutoColor = false; Size = Enity.SizeDelta; eventCall.CutRect = true; ItemMod = HGUIManager.FindChild(fake, "Item"); if (ItemMod != null) { HGUIManager.RecycleChild(script); ItemSize = UIElementLoader.GetSize(ItemMod); ItemHigh = ItemSize.y; } Enity.SizeChanged = (o) => { Refresh(); }; }
/// <summary> /// 设置项目模型 /// </summary> /// <param name="name">模型名称</param> public void SetItemMod(string name) { if (BufferData == null) { return; } var mod = HGUIManager.FindChild(BufferData, name); if (mod != null) { unsafe { ItemSize = ((UITransfromData *)mod.ip)->size; var ex = UITransfromLoader.GetCompositeData(mod); if (ex != null) { ScrollInfo *tp = (ScrollInfo *)ex.ip; scrollType = tp->scrollType; MinBox = tp->minBox; } } } ItemMod = mod; }