local PagePoster = {} local function PageChange(nCurrentPageIndex) local rootPanel = PagePoster.rootPanel local tagItem = rootPanel.transform:GetChild(nCurrentPageIndex - 1).gameObject local toggleGroupCom = tagItem.transform:GetComponent("Toggle") toggleGroupCom.isOn = true end local function RefreshPagePosterToggleItem() local rootPanel = PagePoster.rootPanel local tagItem = rootPanel.transform:Find("Toggle").gameObject local toggleGroupCom = tagItem.transform:GetComponent("Toggle") local tPageInfo = GetCache("PAGE_INFO") local nImgListCount = #tPageInfo.tImgPath for i = 1, nImgListCount - 1, 1 do CS.UnityEngine.GameObject.Instantiate(tagItem, rootPanel.transform) end toggleGroupCom.isOn = true end local function InitPagePosterUI() local rootPanel = PagePoster.rootPanel local tagItem = rootPanel.transform:Find("Toggle").gameObject local toggleGroupCom = rootPanel.transform:GetComponent("ToggleGroup") local tagItemToggleCom = tagItem.transform:GetComponent("Toggle") local tPagePosterTagInfo = GetCache("PAGE_POSTER_TAG_INFO") local texture2DTarget = LoadResource(tPagePosterTagInfo.szTarget) local texture2DNoramal = LoadResource(tPagePosterTagInfo.szNoramal) local targetSprite = CS.UnityEngine.Sprite.Create(texture2DTarget, CS.UnityEngine.Rect(0,0,texture2DTarget.width, texture2DTarget.height), CS.UnityEngine.Vector2.zero) local normalSprite = CS.UnityEngine.Sprite.Create(texture2DNoramal, CS.UnityEngine.Rect(0,0,texture2DNoramal.width, texture2DNoramal.height), CS.UnityEngine.Vector2.zero) tagItemToggleCom.group = toggleGroupCom tagItemToggleCom.interactable = false tagItemToggleCom.graphic.sprite = targetSprite tagItemToggleCom.targetGraphic.sprite = normalSprite end local function RefreshUI() InitPagePosterUI() RefreshPagePosterToggleItem() end local function RegisterEvent() local eventManager = require('Base/ZEventDispatchCenter.lua') eventManager:RegisterEvent(eventManager.EventType.COMMON_UI_PAGE_CHANGE, PageChange) end local function UnregisterEvent() local eventManager = require('Base/ZEventDispatchCenter.lua') eventManager:UnregisterEvent(eventManager.EventType.COMMON_UI_PAGE_CHANGE, PageChange) end function PagePoster.Awake(luaRoot) PagePoster.luaRoot = luaRoot local canvas = CS.UnityEngine.GameObject.Find('Canvas') PagePoster._rootCanvas = canvas PagePoster.rootPanel = luaRoot end function PagePoster.Init() RefreshUI() RegisterEvent() end function PagePoster.UnInit() UnregisterEvent() end return PagePoster