local UIScreenClickEffectView = UIViewClass() local DefaultClickEffect = ConstAssetPathConfig.DefaultClickEffect function UIScreenClickEffectView:OnCreated() self.screenIndex = 1 self.maxEffectCount = 4 end function UIScreenClickEffectView:OnOpened() self:RegistSystemEvent(EventID.Base_OnClickScreen, self.ShowScreenClickEffect) self:RegistSystemEvent(EventID.UI_Decoration_ClickScreen_Effect_Changed, self.RefreshClickEffect) if CTL.WinLogin.IsGameStreamerPackage() then UIUtils.SetActive(self.txt_WaterMark, true) UIUtils.SetLabelText(self.txt_WaterMark, Const_IDS.IDS_GameStreamer_TestVersion) else UIUtils.SetActive(self.txt_WaterMark, false) end end function UIScreenClickEffectView:RefreshClickEffect() self.clickEffect = MDL.Decoration.GetCurDecoratingResource(MDL.Decoration.DecorationType.ClickEffect) end function UIScreenClickEffectView:ShowScreenClickEffect(posX, posY) if self.screenIndex < self.maxEffectCount then self.screenIndex = self.screenIndex + 1 else self.screenIndex = 1 end self.group_Effect[self.screenIndex].transform:SetLocalPosition(posX, posY) local effect = self.clickEffect and self.clickEffect or DefaultClickEffect self.group_Effect[self.screenIndex]:PlayUIEffect(effect, 0.45) end return UIScreenClickEffectView