|
|
- UIType = UIType or {
- Label = "Label", -- 文本 有滤镜 白色
- Label2 = "Label2", -- 文本 无滤镜 黑色
- Label3 = "Label3", -- 文本 无滤镜 浅棕色 文本左上角对齐
- Label4 = "Label4", -- 文本 无滤镜 有背景 白色
- Label5 = "Label5", -- 文本 无滤镜 HKYTW7 白色 文本居中对齐
- TextInput = "TextInput", -- 输入框
- Image = "Image", -- 图片容器
- Image2 = "Image2", -- 图片容器,锚点左上角
- Image3 = "Image3", -- 图片容器,锚点左上角
- BigButton1 = "BigButton1", -- 按钮
- BigButton2 = "BigButton2", -- 按钮
- BigButton3 = "BigButton3", -- 按钮
- SmallButton1 = "SmallButton1", -- 按钮
- SmallButton2 = "SmallButton2", -- 按钮
- SmallButton3 = "SmallButton3", -- 按钮
- RectButton1 = "RectButton1", --矩形按钮
- RectButton2 = "RectButton2", --矩形按钮
- RectButton3 = "RectButton3", --矩形按钮
- MiddleButton1 = "MiddleButton1", --按钮
- MiddleButton2 = "MiddleButton2", --按钮
- MiddleButton3 = "MiddleButton3", --按钮
- Loading = "Loading", --菊花loading
- ScrollView = "ScrollView", -- 滚动容器
- -- HScrollView = "HScrollView", --水平滚动容器
- Background = "Background", -- 窗口背景
- AddNumberComponent = "AddNumberComponent", -- 加减数量组件
- ProgressBar = "ProgressBar", -- 进度条
- ProgressBar2 = "ProgressBar2", -- 进度条
- SceneObj = "SceneObj", -- 默认形象的场景对象模板
- NameBoard = "NameBoard", -- 模型名字组件
- UIVerTabBtn = "UIVerTabBtn", -- verTabBar的按钮
- UIVerTabSubBtn = "UIVerTabSubBtn", -- verTabBar的下一级按钮
- UIHorTabBar = "UIHorTabBar", --横向bar
- UIHorTabBtn = "UIHorTabBtn", --横向bar的子按钮
- UIVerLabelBar = "UIVerLabelBar", --纵向bar的 无背景图 只有文字
- UIVerLabelBtn = "UIVerLabelBtn", --纵向bar的子按钮
- SpriteRenderer = "SpriteRenderer", -- SpriteRenderer 世界空间中的图片精灵组件
- EmptyObject = "EmptyObject", -- EmptyObject 2d空对象 一般作为代码创建的父容器使用
- EmptyObject2 = "EmptyObject2", -- EmptyObject2 2d空对象 一般作为代码创建的父容器使用 区别只是把锚点设置成了左上角
- CircleCd = "CircleCd", --圆形cd
- SquareCd = "SquareCd", --正方形cd,30 * 30
- FightingUp = "FightingUp", --战斗力提升
- AttrNumber = "AttrNumber", --属性增加
- RewardBox = "RewardBox", --奖励宝箱
- SceneDropObj = "SceneDropObj", --场景掉落
- ImageExtend = "ImageExtend", -- 图片容器
- TalkBoard = "TalkBoard", -- 角色说话
- -- UITalkBoard = "UITalkBoard", --UI模型说话
- ImageButton = "ImageButton", --隐藏按钮,用于新手引导
- BigBloodBar = "BigBloodBar", --大血条
- ToggleBtn = "ToggleBtn", --标签页
- Camera3D = "Camera3D", --3d摄像机
- TabButton = "TabButton",
- PopupComponent = "PopupComponent",
- NumberSliderComponent = "NumberSliderComponent",
- SceneCanvas = "SceneCanvas", --Scene层的canvas对象 比默认的性能更优
- FullWindowComponent = "FullWindowComponent", --全屏界面
- BarsItem = "BarsItem", --选项卡Item
-
- -------------------------
- WindowNew = "WindowNew", -- 全屏窗口,带tab
- WindowNew2 = "WindowNew2", -- 非全屏二级窗口,没有tab
- WindowNew4 = "WindowNew4", -- 伪全屏窗口,带tab 但是tab不带头像 具体参考副本大厅
- WindowNew5 = "WindowNew5", -- 伪全屏窗口,不带tab 具体参考多人副本
- WindowNew6 = "WindowNew6", -- 非全屏窗口,有tab
- WindowNew7 = "WindowNew7", -- 非全屏窗口,没有tab,底图文件夹样式
- WindowNew8 = "WindowNew8", -- 活动非全屏窗口,带tab 但是tab不带头像 具体参考充值
-
- UITabButton = "UITabButton", --界面右侧页签按钮
- UITabButton2 = "UITabButton2", --界面右侧页签按钮
- UITabButton3 = "UITabButton3", --界面右侧页签按钮
- UITabButton4 = "UITabButton4", --界面右侧页签按钮
- UITabButton5 = "UITabButton5", --界面右侧页签按钮
- UITabButton6 = "UITabButton6", --界面右侧页签按钮
- UITabButton8 = "UITabButton8", --活动伪全屏界面右侧页签按钮
- UITabButton9 = "UITabButton9", --特殊用,带图标的,如珍宝
- UIMoneyView = "UIMoneyView", --金币彩钻红钻添加
- Combox = "Combox", --通用下拉窗
-
- UIRoleMode = "UIRoleMode", --UI人物模型
- UI3dRtMode = "UI3dRtMode", --3d UI rendertexture 模式
-
- SceneJumpOneStepObj = "SceneJumpOneStepObj", --跳一跳跳台
- }
-
-
- --通用ui工厂
- UiFactory = UiFactory or BaseClass()
- local UiFactory = UiFactory
- UiFactory.preload_completed = false --预加载通用ui预制是否完成
- -- UiFactory.ui_assetBundle = nil -- 通用ui ab包
- UiFactory.ui_prefab_list = {} --通用ui 所有预制列表
- UiFactory.load_sequence_list = { --通用ui的加载顺序
- UIType.Label,
- UIType.Label2,
- UIType.Label3,
- UIType.Label4,
- UIType.Label5,
- UIType.TextInput,
- UIType.Image,
- UIType.Image2,
- UIType.Image3,
- UIType.BigButton1,
- UIType.BigButton2,
- UIType.BigButton3,
- UIType.SmallButton1,
- UIType.SmallButton2,
- UIType.SmallButton3,
- UIType.RectButton1,
- UIType.RectButton2,
- UIType.RectButton3,
- UIType.Loading,
- UIType.ScrollView,
- -- UIType.HScrollView,
- UIType.Background,
- UIType.AddNumberComponent,
- UIType.ProgressBar,
- UIType.ProgressBar2,
- UIType.SceneObj,
- UIType.NameBoard,
- UIType.UIVerTabBtn,
- UIType.UIVerTabSubBtn,
- UIType.UIHorTabBtn,
- UIType.UIHorTabBar,
- UIType.UIVerLabelBar,
- UIType.UIVerLabelBtn,
- UIType.SpriteRenderer,
- UIType.EmptyObject,
- UIType.EmptyObject2,
- UIType.Camera3D,
- UIType.CircleCd,
- UIType.SquareCd,
- UIType.FightingUp,
- UIType.AttrNumber,
- UIType.RewardBox,
- UIType.SceneDropObj,
- UIType.SceneJumpOneStepObj,
- UIType.ImageExtend,
- UIType.TalkBoard,
- -- UIType.UITalkBoard,
- UIType.ImageButton,
- UIType.BigBloodBar,
- UIType.ToggleBtn,
- UIType.TabButton,
- UIType.PopupComponent,
- UIType.NumberSliderComponent,
- UIType.SceneCanvas,
- -- UIType.FullWindowComponent,
- -- UIType.BarsItem,
-
- -------------------------
- UIType.WindowNew,
- UIType.WindowNew2,
- UIType.WindowNew4,
- UIType.WindowNew5,
- UIType.WindowNew6,
- UIType.WindowNew7,
- UIType.WindowNew8,
- UIType.UIMoneyView,
- UIType.Combox,
- -- UIType.UIRoleMode,
- }
- function UiFactory.StartPreload()
- if UiFactory.preload_completed == false then
- local function call_back(objs)
- -- UiFactory.ui_assetBundle = resMgr:GetAssetBundle("uiComponent")
- for i = 1,#UiFactory.load_sequence_list do
- UiFactory.ui_prefab_list[UiFactory.load_sequence_list[i]] = objs[i - 1]
- end
-
- local ui_prefab = UiFactory.ui_prefab_list[UIType.SceneCanvas]
- if ui_prefab then
- local transform = newObject(ui_prefab).transform
- local parent_go = GameObject.Find("Canvas")
- if parent_go then
- panelMgr:GetParent("Scene").gameObject:SetActive(false)
- transform:SetParent(parent_go.transform)
- SetLocalScale(transform)
- SetLocalPosition(transform)
- transform:SetAsFirstSibling()
-
- local canvas_com = transform:GetComponent("Canvas")
- if canvas_com then
- canvas_com.worldCamera = GameObject.Find("MainCamera"):GetComponent("Camera")
- end
- UiFactory.SceneCanvas = transform
- end
- end
-
- UiFactory.preload_completed = true --预加载完成
- GlobalEventSystem:Fire(EventName.GAME_UI_LOAD_COMPLETED)
- end
- LuaResManager:getInstance():loadPrefabs(UiFactory,"uiComponent",UiFactory.load_sequence_list, call_back, true, ASSETS_LEVEL.HIGHT)
- end
- local check_load = function()
- if not UiFactory.preload_completed then
- GameError.Instance:SendErrorToPHP("UiFactory.StartPreload 加载时间超过10秒没完成 预计加载失败")
- end
- end
- setTimeout(check_load,10)
- end
-
- function UiFactory.getPrefab(uiType)
- return UiFactory.ui_prefab_list[uiType]
- end
-
- function UiFactory.createChild(parent,uiType,uiName)
- -- if UiFactory.ui_assetBundle == nil then
- -- print("创建失败! 原因:通用ui AssetBundle 没有预加载成功")
- -- return
- -- end
- local ui_prefab = UiFactory.ui_prefab_list[uiType]
- if ui_prefab == nil then
- LogError("找不到uitype")
- return
- end
- local go = newObject(ui_prefab)
- if go then
- go.name = uiName or uiType
- if parent then
- go.transform:SetParent(parent)
- SetLocalScale(go.transform)
- SetLocalPosition(go.transform)
- -- go.transform.localScale = Vector3.one
- -- go.transform.localPosition = Vector3.zero
- end
- return go
- end
- end
-
- function UiFactory.GetSceneCanvas()
- return UiFactory.SceneCanvas or panelMgr:GetParent("Scene")
- end
|