DESKTOP-SAJ6RKV\Administrator 379fe412f5 层级特殊处理
2025-06-04 19:22:53 +08:00

89 lines
3.0 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using TEngine;
using UnityEngine.Video;
using GameConfig;
using Cysharp.Threading.Tasks;
using System.Collections.Generic;
using YooAsset;
using GameConfig.giftConfig;
using System;
namespace GameLogic
{
[Window(UILayer.UI)]
class UIVipLiWuHongItem : UIWindow
{
#region
private RawImage m_rimg_ViewTexture;
private VideoPlayer m_VideoPlayer;
protected override void ScriptGenerator()
{
m_rimg_ViewTexture = FindChildComponent<RawImage>("m_rimg_ViewTexture");
m_VideoPlayer = FindChildComponent<VideoPlayer>("m_video_Video");
}
#endregion
#region
#endregion
protected override void OnCreate()
{
base.OnCreate();
Canvas.sortingLayerName = "UI02";
GiftItemData giftItemData = UserData as GiftItemData;
if (giftItemData.giftId == 0)
{
Log.Error("ID == 0");
GameModule.UI.CloseUI<UIVipLiWuHongItem>();
return;
}
// 根据礼物Id,加载对应的视频名称
// GiftConfig giftConfig = ConfigSystem.Instance.Tables.TbGift.Get(giftItemData.giftId);
// string videoName = giftItemData.m_TeamEnum == TeamUnitEnum.Left? giftConfig.LeftVIdeoName:giftConfig.RightVideoName;
string videoName = "Gift0" + (giftItemData.giftId);
m_VideoPlayer.loopPointReached += HiddenVideoPlay;
var videoClip = GameModule.Resource.LoadAsset<VideoClip>(videoName);
//string audioName = "礼物" + (giftItemData.giftId - 1);
// 播放音效
GameModule.Audio.Play(TEngine.AudioType.UISound, videoName + "_Audio", false, 0.5f, true);
m_VideoPlayer.loopPointReached += HiddenVideoPlay;
m_VideoPlayer.targetTexture.DiscardContents();
m_VideoPlayer.clip = videoClip;
m_VideoPlayer.Play();
}
private void HiddenVideoPlay(VideoPlayer player)
{
// m_VideoPlayer.targetTexture.DiscardContents();
// GameModule.UI.CloseUI<UIVipLiWuHongItem>();
m_VideoPlayer.targetTexture.DiscardContents();
GameModule.UI.CloseUI<UIVipLiWuHongItem>();
//GameModule.UI.CloseUI<UIVipItem_Old>();
//GameModule.UI.ShowUI<UIVipItem>(UserDatas);
GiftItemData giftItemData = UserData as GiftItemData;
var giftConfig = ConfigSystem.Instance.Tables.TbGiftConfig.Get(giftItemData.giftId);
var data = DataGameSceneManager.Instance.GetUnitPlayerData(giftItemData.m_ProtCustMessageData.openId);
//var go = GameModule.Resource.LoadGameObject("GiftItem");
//go.GetComponent<UIGiftItem>().OnInit(data, giftConfig, giftItemData.num);
// 发送玩家送礼事件
GameEvent.Send(EventConts.AddGiftMessage, data, giftConfig, giftItemData.num);
}
}
}