|
|
2 jaren geleden | |
|---|---|---|
| .. | ||
| Readme.md | 2 jaren geleden | |
| Readme.md.meta | 2 jaren geleden | |
├─ LuaScripts/CommonUtils
│ ├─ DemoLuaScripts -- 所有 Demo 脚本存放位置
│ │ ├─ DemoAll.lua -- 选择 Demo 展示界面
│ │ ├─ DemoMain.lua -- Demo 入口文件
│ │ ├─ DemoMenu.lua -- Demo 选择菜单
│ │ ├─ DemoPage.lua -- Demo 翻页
│ │ ├─ DemoPagePoster.lua -- Demo 翻页轮播
│ │ ├─ DemoProgressor.lua -- Demo 按钮进度条
│ │ ├─ DemoRemoteReturn.lua -- Demo 返回键
│ │ ├─ DemoToast.lua -- Demo 提示
│ │ ├─ DemoUINavigator.lua -- Demo 设置EntryButton
│ ├─ Menu -- 选择菜单
│ │ ├─ Menu.lua -- 菜单 具体实现
│ ├─ Page -- 翻页
│ │ ├─ Page.lua -- 翻页 具体实现
│ │ ├─ PageModule.lua -- 翻页 基础模块
│ │ ├─ PagePoster.lua -- 翻页 轮播
│ ├─ Progressor -- 按钮进度条
│ │ ├─ Progressor.lua -- 按钮进度条 具体实现
│ ├─ Toast -- 提示
│ │ ├─ Toast.lua -- 提示 具体实现
│ ├─ UINavigator -- UINavigator
│ │ ├─ UINavigator.lua -- UINavigator 具体实现
需添加EventType
-- COMMON EVENT
-- COMMON EVENT
COMMON_SET_ENTRY_BUTTON = "COMMON_SET_ENTRY_BUTTON",
COMMON_SET_GESTUREINPUT = "COMMON_SET_GESTUREINPUT",
COMMON_REMOTE_RETURN = "COMMON_REMOTE_RETURN",
COMMON_SELECT_BUTTON = "COMMON_SELECT_BUTTON",
COMMON_SELECT_SCROLL = "COMMON_SELECT_SCROLL",
COMMON_MENU_CLICK_BUTTON = "COMMON_MENU_CLICK_BUTTON",
COMMON_UI_NAVIGATOR_ANIM = "COMMON_UI_NAVIGATOR_ANIM",
COMMON_UI_NAVIGATOR_SELECT_MENU = "COMMON_UI_NAVIGATOR_SELECT_MENU",
COMMON_UI_NAVIGATOR_SELECT = "COMMON_UI_NAVIGATOR_SELECT",
COMMON_UI_PAGE_MODULE_EFFECT = "COMMON_UI_PAGE_MODULE_EFFECT",
COMMON_UI_PAGE_MODULE_CHANGE_SHADOW_IMG = "COMMON_UI_PAGE_MODULE_CHANGE_SHADOW_IMG",
COMMON_UI_PAGE_MODULE_CHANGE_EFFENT_TYPE = "COMMON_UI_PAGE_MODULE_CHANGE_EFFENT_TYPE",
COMMON_UI_PAGE_MODULE_REFRESH_UI = "COMMON_UI_PAGE_MODULE_REFRESH_UI",
COMMON_UI_PAGE_CHANGE = "COMMON_UI_PAGE_CHANGE",
COMMON_UI_PAGE_PRE = "COMMON_UI_PAGE_PRE",
COMMON_UI_PAGE_NEXT = "COMMON_UI_PAGE_NEXT",
在入口文件 挂载 UINavigator 脚本
require("Base/UIHelper.lua"):OpenUI("CommonUtils/UINavigator/UINavigator.lua")
Demo入口文件 : BundleResource/LuaScripts/CommonUtils/DemoLuaScripts/DemoMain.lua
项目入口文件 : BundleResource/main.lua
设置 EntryButton:
local eventManager = require('Base/ZEventDispatchCenter.lua')
eventManager:DispatchEvent(eventManager.EventType.COMMON_SET_ENTRY_BUTTON, gameObject)
设置选中的Button 不传参数则设置为空
local eventManager = require('Base/ZEventDispatchCenter.lua')
eventManager:DispatchEvent(eventManager.EventType.COMMON_UI_NAVIGATOR_SELECT, gameObject/nil)
Demo 脚本 : BundleResource/LuaScripts/CommonUtils/DemoLuaScripts/DemoUINavigator.lua
Prefab 所有 Menu 中可选的Button 设置 Tag => CommonUtilsMenu
DataRelay.lua 缓存数据
-- COMMON_UTILS MENU
["MENU_SHOW_ITEM_COUNT"] = "MENU_SHOW_ITEM_COUNT",
["MENU_SCROLL"] = "MENU_SCROLL",
初始化
-- 挂载 Menu 脚本
require("Base/UIHelper.lua"):AddScript(ZUIMenuPanel.gameObject, "CommonUtils/Menu/Menu.lua")
-- if you need:
require("CommonUtils/Menu/Menu.lua").SetShowItemData(5) -- 设置展示的Menu Item数量(单数) 默认为 3
require("CommonUtils/Menu/Menu.lua").SetMenuScroll() -- 设置鼠标滚轮控制切换选中菜单
Demo 脚本 : BundleResource/LuaScripts/CommonUtils/DemoLuaScripts/DemoMenu.lua
EffectType 翻页类型
LeftTop/LeftBottom/RightTop/RightBottom
DataRelay.lua 缓存数据
-- COMMON_UTILS_PAGE
["PAGE_INFO"] = "PAGE_INFO",
初始化
local tPageInfo = {
-- 图片列表
["tImgPath"] = {
"CommonUtils/Textures/Page/page0.png",
"CommonUtils/Textures/Page/page1.png",
"CommonUtils/Textures/Page/page2.png",
"CommonUtils/Textures/Page/page3.png",
"CommonUtils/Textures/Page/page4.png",
"CommonUtils/Textures/Page/page5.png",
},
-- 图片 翻页展示的背景
["szImgBG"] = "CommonUtils/Textures/Page/P0_Back.png",
-- 翻页的阴影 RightToLeft
["szShadowLeft"] = "CommonUtils/Textures/Page/shadow.png",
-- 翻页的阴影 LeftToRight
["szShadowRight"] = "CommonUtils/Textures/Page/shadowLTR.png",
-- 翻页的阴影 宽度
["nShadowWidth"] = 50,
-- 翻页时长
["nEffectTime"] = 0.5,
-- 左翻动效 类型
["leftEffectType"] = "LeftBottom",
-- 右翻动效 类型
["rightEffectType"] = "RightBottom"
}
SetCache("PAGE_INFO", tPageInfo)
local pageObj = DemoPage.rootPanel.transform:Find("Page").gameObject
local uiHelper = require('Base/UIHelper.lua')
local szPagePath = "CommonUtils/Page/Page.lua"
uiHelper:AddScript(pageObj, szPagePath)
require(szPagePath).Init()
左右翻页
local eventManager = require('Base/ZEventDispatchCenter.lua')
eventManager:DispatchEvent(eventManager.EventType.COMMON_UI_PAGE_PRE) -- 左翻
eventManager:DispatchEvent(eventManager.EventType.COMMON_UI_PAGE_NEXT) -- 右翻
Demo 脚本 : BundleResource/LuaScripts/CommonUtils/DemoLuaScripts/DemoPage.lua
Effect 翻页类型
LeftTop/LeftBottom/RightTop/RightBottom
DataRelay.lua 缓存数据
-- COMMON_UTILS_PAGE
["PAGE_INFO"] = "PAGE_INFO",
["PAGE_POSTER_TAG_INFO"] = "PAGE_POSTER_TAG_INFO",
初始化
local tPageInfo = {
["tImgPath"] = {
"CommonUtils/Textures/Page/page0.png",
"CommonUtils/Textures/Page/page1.png",
"CommonUtils/Textures/Page/page2.png",
"CommonUtils/Textures/Page/page3.png",
"CommonUtils/Textures/Page/page4.png",
"CommonUtils/Textures/Page/page5.png",
},
["szImgBG"] = "CommonUtils/Textures/Page/P0_Back.png",
["szShadowLeft"] = "CommonUtils/Textures/Page/shadow.png",
["szShadowRight"] = "CommonUtils/Textures/Page/shadowLTR.png",
["nShadowWidth"] = 50,
["nEffectTime"] = 0.5,
["leftEffectType"] = "LeftBottom",
["rightEffectType"] = "RightBottom"
}
local tPagePosterTagInfo = {
-- 选中图片
['szTarget'] = "CommonUtils/Textures/PagePoster/light.png",
-- 未选中图片
['szNoramal'] = "CommonUtils/Textures/PagePoster/normal.png",
}
SetCache("PAGE_INFO", tPageInfo)
SetCache("PAGE_POSTER_TAG_INFO", tPagePosterTagInfo)
local pageObj = DemoPagePoster.rootPanel.transform:Find("Poster/Page").gameObject
local tagObj = DemoPagePoster.rootPanel.transform:Find("Poster/Tag").gameObject
local uiHelper = require('Base/UIHelper.lua')
local szPagePath = "CommonUtils/Page/Page.lua"
local szPagePosterPath = "CommonUtils/Page/PagePoster.lua"
uiHelper:AddScript(pageObj, szPagePath)
uiHelper:AddScript(tagObj, szPagePosterPath)
require(szPagePath).Init()
require(szPagePosterPath).Init()
左右翻页
local eventManager = require('Base/ZEventDispatchCenter.lua')
eventManager:DispatchEvent(eventManager.EventType.COMMON_UI_PAGE_PRE) -- 左翻
eventManager:DispatchEvent(eventManager.EventType.COMMON_UI_PAGE_NEXT) -- 右翻
Demo 脚本 : BundleResource/LuaScripts/CommonUtils/DemoLuaScripts/DemoPagePoster.lua
DataRelay.lua 缓存数据 根据自己需要设置
初始化
require("CommonUtils/Progressor/Progressor.lua").InitDataRelay("PROGRESSOR_DEMO_A")
设置冷却时间
--[[
nPeriodTime: 冷却时间 单位s
szKey: DataRelay.lua 中添加的 Key
]]
require("CommonUtils/Progressor/Progressor.lua").SetCooldown(szKey, nPeriodTime)
进度条更新
--[[
nFillAmount: 当前进度
szKey: DataRelay.lua 中添加的 Key
bFill: 进度条填充条件
ProgressorCallbackA: 填充完之后的回调函数
FillProgressor(szKey, bFill, ProgressorCallbackA)
]]
-- 初始化
progressorA = require("CommonUtils/Progressor/Progressor.lua"):new()progressorA:SetCooldown(2)
-- 使用处
local imgCom = DemoProgressor.rootPanel.transform:Find("Img_D"):GetComponent("Image")
imgCom.fillAmount = progressorD:FillProgressor(bFill, ProgressorCallbackD)
Demo 脚本 : BundleResource/LuaScripts/CommonUtils/DemoLuaScripts/DemoProgressor.lua
事件监听与取消监听
local function RegisterEvent()
local eventManager = require('Base/ZEventDispatchCenter.lua')
eventManager:RegisterEvent(eventManager.EventType.COMMON_REMOTE_RETURN, RemoteReturn)
end
local function UnregisterEvent()
local eventManager = require('Base/ZEventDispatchCenter.lua')
eventManager:UnregisterEvent(eventManager.EventType.COMMON_REMOTE_RETURN, RemoteReturn)
end
Demo 脚本 : BundleResource/LuaScripts/CommonUtils/DemoLuaScripts/DemoRemoteReturn.lua
触发
local szPath = "CommonUtils/Textures/Toast/prompt.png" -- 提示图片地址
require("CommonUtils/Toast/Toast.lua").ToastInfo(szPath)
Demo 脚本 : BundleResource/LuaScripts/CommonUtils/DemoLuaScripts/DemoToast.lua