local EntityUIBaseModule = {} ---------- Start 具体的子项Element操作 Start ---------- -- Start 这里是创建相关,每个element的格式可能不同,使用不同的创建接口 Start -- function EntityUIBaseModule.ElementCreate(expEntity, element) local elementTf = element.gameObject.transform local elementData = { isActive = true, isShown = true, isEnemy = CampManager.IsEnemyCamp(expEntity.Entity:GetCampID(), LevelPlayerManager.MainEntityCampID), element = element, headUIDic = nil, --key:headUIType,value:headUINode elementTf = elementTf, isStatue = expEntity.Entity._logicInitData.isStatue, uiOffsetY = nil, -- UI需要的Y偏移 modelHeight = nil, --模型高度 lastScale = nil, --上一次的缩放 } UIUtils.SetActive(element.gameObject, true) UIUtils.SetActiveByScale(elementTf, true) return elementData end -- End 这里是创建相关,每个element的格式可能不同,使用不同的创建接口 End -- function EntityUIBaseModule.ElementReset(expEntity, elementData) elementData.isActive = true elementData.isShown = true elementData.lastScale = nil elementData.modelHeight = nil elementData.extendData = nil elementData.isEnemy = CampManager.IsEnemyCamp(expEntity.Entity:GetCampID(), LevelPlayerManager.MainEntityCampID) EntityUIBaseModule.ElementStopEffect(elementData) UIUtils.SetActive(elementData.element.gameObject, true) UIUtils.SetActiveByScale(elementData.elementTf, true) end function EntityUIBaseModule.SetUIOffsetY(elementData, offsetY) if elementData then elementData.uiOffsetY = offsetY end end function EntityUIBaseModule.ElementActive(elementData, active) if elementData then elementData.isActive = active elementData.isShown = active UIUtils.SetActiveByScale(elementData.elementTf, active) elementData.lastScale = active and 1 or 0 end end function EntityUIBaseModule.ElementDispose(elementData) EntityUIBaseModule.ElementActive(elementData, false) EntityUIBaseModule.ElementStopEffect(elementData) end function EntityUIBaseModule.ElementStartEffect(elementData, assetPath, duration, parentTf, layer) EntityUIBaseModule.ElementStopEffect(elementData) elementData.effectId = AuxUtil.PlayDynamicObject(assetPath, duration, parentTf, layer) end function EntityUIBaseModule.ElementStopEffect(elementData) if elementData.effectId == nil then return end AuxUtil.StopDynamicObject(elementData.effectId) elementData.effectId = nil end ---------- End 具体的子项Element操作 End ---------- return EntityUIBaseModule