140 lines
4.5 KiB
Lua
140 lines
4.5 KiB
Lua
|
--===========================
|
|||
|
--超级爬塔芯片详细页面
|
|||
|
--===========================
|
|||
|
local XUiSuperTowerPluginDetails = XLuaUiManager.Register(XLuaUi, "UiSuperTowerPluginDetails")
|
|||
|
local Vector3 = CS.UnityEngine.Vector3
|
|||
|
function XUiSuperTowerPluginDetails:OnAwake()
|
|||
|
XTool.InitUiObject(self)
|
|||
|
end
|
|||
|
--==================
|
|||
|
--界面显示时
|
|||
|
--@param pluginId: 插件Id
|
|||
|
--@param posXOffset: 左右位置偏移(0或不填为屏幕中间,往右移为正数,左移为负数)
|
|||
|
--==================
|
|||
|
function XUiSuperTowerPluginDetails:OnStart(plugin, posXOffset, closeCallBack, isEquip, equipCallBack)
|
|||
|
self:FixPos(posXOffset or 0)
|
|||
|
self:InitPluginCfg(plugin)
|
|||
|
self:InitGrids()
|
|||
|
self.CloseCallBack = closeCallBack
|
|||
|
if isEquip ~= nil then
|
|||
|
self.IsEquipment = isEquip
|
|||
|
self.BtnEquip.CallBack = function() self:OnClickBtnEquip() end
|
|||
|
self.BtnUnEquip.CallBack = function() self:OnClickBtnUnEquip() end
|
|||
|
self.EquipCallBack = equipCallBack
|
|||
|
self.UnEquipCallBack = equipCallBack
|
|||
|
end
|
|||
|
XUiHelper.RegisterClickEvent(self, self.BtnClose, function() self:OnClose() end)
|
|||
|
self:ShowPanel()
|
|||
|
end
|
|||
|
--==================
|
|||
|
--调整界面X轴(左右)位置
|
|||
|
--==================
|
|||
|
function XUiSuperTowerPluginDetails:FixPos(posXOffset)
|
|||
|
self.PanelDetail.transform.localPosition = self.PanelDetail.transform.localPosition + Vector3(posXOffset, 0, 0)
|
|||
|
end
|
|||
|
--==================
|
|||
|
--初始化插件配置
|
|||
|
--==================
|
|||
|
function XUiSuperTowerPluginDetails:InitPluginCfg(plugin)
|
|||
|
self.PluginId = plugin:GetId()
|
|||
|
self.Plugin = plugin
|
|||
|
end
|
|||
|
--==================
|
|||
|
--初始化控件
|
|||
|
--==================
|
|||
|
function XUiSuperTowerPluginDetails:InitGrids()
|
|||
|
local gridScript = require("XUi/XUiSuperTower/Plugins/XUiSuperTowerPluginGrid")
|
|||
|
self.PluginGrid = gridScript.New(self.GridPlugin)
|
|||
|
local characterScript = require("XUi/XUiSuperTower/Plugins/XUiSTPluginDetailsRoleHead")
|
|||
|
self.RoleGrid = characterScript.New(self.GridRole)
|
|||
|
end
|
|||
|
--==================
|
|||
|
--显示面板
|
|||
|
--==================
|
|||
|
function XUiSuperTowerPluginDetails:ShowPanel()
|
|||
|
self:ShowPluginName()
|
|||
|
self:ShowDescription()
|
|||
|
self:ShowPluginGrid()
|
|||
|
self:ShowBtnEquip()
|
|||
|
self:ShowRoleHead()
|
|||
|
end
|
|||
|
--==================
|
|||
|
--显示插件名称
|
|||
|
--==================
|
|||
|
function XUiSuperTowerPluginDetails:ShowPluginName()
|
|||
|
if self.TxtName then
|
|||
|
self.TxtName.text = self.Plugin:GetName()
|
|||
|
end
|
|||
|
if self.TxtQuality then
|
|||
|
self.TxtQuality.text = XUiHelper.GetText("STPluginDetailsStarStr", self.Plugin:GetQuality())
|
|||
|
end
|
|||
|
end
|
|||
|
--==================
|
|||
|
--显示插件效果
|
|||
|
--==================
|
|||
|
function XUiSuperTowerPluginDetails:ShowDescription()
|
|||
|
if self.TxtDesc then
|
|||
|
self.TxtDesc.text = self.Plugin:GetDesc()
|
|||
|
end
|
|||
|
end
|
|||
|
--==================
|
|||
|
--显示图标
|
|||
|
--==================
|
|||
|
function XUiSuperTowerPluginDetails:ShowPluginGrid()
|
|||
|
self.PluginGrid:RefreshData(self.Plugin)
|
|||
|
end
|
|||
|
--==================
|
|||
|
--显示装备按钮
|
|||
|
--==================
|
|||
|
function XUiSuperTowerPluginDetails:ShowBtnEquip()
|
|||
|
self.BtnEquip.gameObject:SetActiveEx(self.IsEquipment ~= nil and self.IsEquipment == true)
|
|||
|
self.BtnUnEquip.gameObject:SetActiveEx(self.IsEquipment ~= nil and self.IsEquipment == false)
|
|||
|
end
|
|||
|
--==================
|
|||
|
--显示头像
|
|||
|
--==================
|
|||
|
function XUiSuperTowerPluginDetails:ShowRoleHead()
|
|||
|
local characterId = self.Plugin:GetCharacterId()
|
|||
|
local haveCharacter = characterId and characterId > 0
|
|||
|
if haveCharacter then
|
|||
|
if self.PanelChara then self.PanelChara.gameObject:SetActiveEx(true) end
|
|||
|
self.RoleGrid:RefreshData(characterId)
|
|||
|
else
|
|||
|
if self.PanelChara then self.PanelChara.gameObject:SetActiveEx(false) end
|
|||
|
end
|
|||
|
end
|
|||
|
--==================
|
|||
|
--点击装备时
|
|||
|
--==================
|
|||
|
function XUiSuperTowerPluginDetails:OnClickBtnEquip()
|
|||
|
if self.IsEquipment == nil then return end
|
|||
|
if self.EquipCallBack then
|
|||
|
local cb = self.EquipCallBack
|
|||
|
self.EquipCallBack = nil
|
|||
|
cb(self.PluginId)
|
|||
|
self:OnClose()
|
|||
|
end
|
|||
|
end
|
|||
|
--==================
|
|||
|
--点击卸下时
|
|||
|
--==================
|
|||
|
function XUiSuperTowerPluginDetails:OnClickBtnUnEquip()
|
|||
|
if self.IsEquipment == nil then return end
|
|||
|
if self.UnEquipCallBack then
|
|||
|
local cb = self.UnEquipCallBack
|
|||
|
self.UnEquipCallBack = nil
|
|||
|
cb(self.PluginId)
|
|||
|
self:OnClose()
|
|||
|
end
|
|||
|
end
|
|||
|
--==================
|
|||
|
--关闭面板时
|
|||
|
--==================
|
|||
|
function XUiSuperTowerPluginDetails:OnClose()
|
|||
|
self:Close()
|
|||
|
if self.CloseCallBack then
|
|||
|
local cb = self.CloseCallBack
|
|||
|
self.CloseCallBack = nil
|
|||
|
cb()
|
|||
|
end
|
|||
|
end
|