Files
StellaSora_DataLua/lua/game/ui/activity/throwgifts/throwgiftitemusebtnctrl.lua
T
SL1900 86d82306fe Update - 1.7.0.88
EN: 1.7.0.88
CN: 1.7.0.90
JP: 1.7.0.91
KR: 1.7.0.94
2026-02-24 22:00:00 +09:00

96 lines
3.0 KiB
Lua

local ThrowGiftItemUseBtnCtrl = class("ThrowGiftItemUseBtnCtrl", BaseCtrl)
local WwiseAudioMgr = CS.WwiseAudioManager.Instance
local GamepadUIManager = require("GameCore.Module.GamepadUIManager")
ThrowGiftItemUseBtnCtrl._mapNodeConfig = {
txtBtn = {
sComponentName = "TMP_Text",
sLanguageId = "ThrowGift_UseItem"
},
btnUseItem1 = {
sComponentName = "NaviButton",
callback = "OnBtnClick_Confirm",
sAction = "ThrowGiftItemConfirm"
},
btnItem1 = {
sComponentName = "NaviButton",
callback = "OnBtnClick_Item"
},
imgBgItemInuse = {sComponentName = "Image"},
imgItemIconEmpty = {},
imgItemIcon1 = {sComponentName = "Image"},
rtParent = {sComponentName = "Animator"},
cgParent = {
sNodeName = "rtParent",
sComponentName = "CanvasGroup"
}
}
ThrowGiftItemUseBtnCtrl._mapEventConfig = {}
ThrowGiftItemUseBtnCtrl._mapRedDotConfig = {}
function ThrowGiftItemUseBtnCtrl:Awake()
self.nIdx = 0
end
function ThrowGiftItemUseBtnCtrl:FadeIn()
end
function ThrowGiftItemUseBtnCtrl:FadeOut()
end
function ThrowGiftItemUseBtnCtrl:OnEnable()
self._mapNode.btnUseItem1.interactable = false
end
function ThrowGiftItemUseBtnCtrl:OnDisable()
end
function ThrowGiftItemUseBtnCtrl:OnDestroy()
end
function ThrowGiftItemUseBtnCtrl:OnRelease()
end
function ThrowGiftItemUseBtnCtrl:SetIdx(nIdx)
self.nIdx = nIdx
end
function ThrowGiftItemUseBtnCtrl:OnBtnClick_Item()
WwiseAudioMgr:PostEvent("Mode_Present_prop_choose")
if self.nItemId == 0 then
return
end
EventManager.Hit("OnBtnClick_ThrowGiftItemUseBtn", self.nIdx, self.nItemId)
end
function ThrowGiftItemUseBtnCtrl:OnBtnClick_Confirm()
EventManager.Hit("OnBtnClick_ThrowGiftItemConfirmBtn", self.nIdx, self.nItemId)
end
function ThrowGiftItemUseBtnCtrl:SetItem(nId)
self.nItemId = nId
if nId == 0 then
self._mapNode.imgItemIcon1.gameObject:SetActive(false)
self._mapNode.imgItemIconEmpty.gameObject:SetActive(true)
NovaAPI.SetCanvasGroupAlpha(self._mapNode.cgParent, 0.5)
return
end
NovaAPI.SetCanvasGroupAlpha(self._mapNode.cgParent, 1)
self._mapNode.imgItemIcon1.gameObject:SetActive(true)
self._mapNode.imgItemIconEmpty.gameObject:SetActive(false)
local mapItemCfgData = ConfigTable.GetData("ThrowGiftItem", nId)
if mapItemCfgData == nil then
self.gameObject:SetActive(false)
return
end
self.gameObject:SetActive(true)
self:SetPngSprite(self._mapNode.imgItemIcon1, mapItemCfgData.Icon)
end
function ThrowGiftItemUseBtnCtrl:PlayAnim(nType)
if nType == 1 then
self._mapNode.rtParent:Play("rtParent_in")
self._mapNode.btnUseItem1.interactable = true
elseif nType == 2 then
self._mapNode.rtParent:Play("rtParent_out")
self._mapNode.btnUseItem1.interactable = false
else
self._mapNode.rtParent:Play("rtParent_switch")
self._mapNode.btnUseItem1.interactable = false
end
self._mapNode.imgBgItemInuse.gameObject:SetActive(nType == 1)
end
function ThrowGiftItemUseBtnCtrl:SetAction(nIdx)
self._mapNodeConfig.btnItem1.sAction = "ThrowGiftItem" .. nIdx
self.tbGamepadUINode = self:GetGamepadUINode()
GamepadUIManager.AddGamepadUINode("ThrowGiftPanel", self.tbGamepadUINode)
end
return ThrowGiftItemUseBtnCtrl