using System;
using asap.core;
using Event1v1Battle.Data;
using game;
using GameCore;
using UnityEngine;
namespace Event1v1Battle.Panel
{
///
/// 1v1扇耳光大赛加载面板 Event1v1BattleSlapLoadingPanel
///
public class Event1v1BattleSlapLoadingPanel : BasePanel
{
#region UI Elements
private DuelMatchPlayer _myself;
private DuelMatchPlayer _enemy;
#endregion
private Event1v1BattleSlapData _data;
private Event1v1BattleSlapManager _manager;
[SerializeField] private float transitionTime = 0.5f;
public void SetData(Event1v1BattleSlapManager manager, Event1v1BattleSlapData data)
{
_manager = manager;
_data = data;
ShowUI();
PlayEndTransition();
}
private void Awake()
{
_myself = gameObject.FindChildGameObject("myself").GetComponentInChildren();
_enemy = gameObject.FindChildGameObject("enemy").GetComponentInChildren();
}
private void ShowUI()
{
IUserService userService = GContext.container.Resolve();
var uiService = GContext.container.Resolve();
uiService.SetHeadImage(_myself.icon_head, userService.AvatarUrl);
_myself.text_name.text = userService.DisplayName;
if(_data==null) return;
uiService.SetHeadImage(_enemy.icon_head, _data.NpcIcon);
_enemy.text_name.text = _data.NpcName;
}
private async void PlayEndTransition()
{
try
{
await Awaiters.Seconds(transitionTime);
UIManager.Instance.DestroyUI(UITypes.Event1v1BattleSlapLoadingPanel);
await _manager.ShowTvPanel(_data);
}
catch (Exception e)
{
Debug.LogError(e);
}
}
}
}