90 lines
2.4 KiB
C#
90 lines
2.4 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using Animancer;
|
||
using Logic;
|
||
using Logic.Action;
|
||
using Logic.AI;
|
||
using Logic.Multilingual;
|
||
using ParadoxNotion;
|
||
using RuntimeData;
|
||
using Steamworks;
|
||
using TH1_Core.Events;
|
||
using TH1_Core.Managers;
|
||
using TH1_Logic.Action;
|
||
using TH1_Logic.Core;
|
||
using TH1_Logic.Net;
|
||
using TH1_Logic.Steam;
|
||
using TH1_UI.View.Announce;
|
||
using TH1Resource;
|
||
using TMPro;
|
||
using Unity.VisualScripting;
|
||
using UnityEngine;
|
||
using UnityEngine.UI;
|
||
|
||
namespace TH1_UI.View.Outside
|
||
{
|
||
|
||
public class UIOutsideLoadingView : Base.View
|
||
{
|
||
//public AnimancerComponent Animancer;
|
||
|
||
//加载图:在 Inspector 中拖入;调用 SetEmpire 时会根据 PlayerDataAssets 的 LoadingPic 替换
|
||
public Image LoadingPic;
|
||
//保留 prefab 默认 Sprite,找不到目标阵营 LoadingPic 时回退
|
||
private Sprite _defaultLoadingSprite;
|
||
private bool _defaultLoadingSpriteCached;
|
||
|
||
//关闭时执行的委托
|
||
public ViDelegateAssisstant.Dele OnBtnCloseClick;
|
||
|
||
//开始游戏时执行的委托(目前委托内容就是执行controller的Close())
|
||
public ViDelegateAssisstant.Dele OnStartGame;
|
||
|
||
/// <summary>
|
||
/// 根据传入的 Empire 查 PlayerDataAssets.PlayerDataList,找到则替换 LoadingPic.sprite,找不到保留原图。
|
||
/// </summary>
|
||
public void SetEmpire(Empire empire)
|
||
{
|
||
if (LoadingPic == null) return;
|
||
if (!_defaultLoadingSpriteCached)
|
||
{
|
||
_defaultLoadingSprite = LoadingPic.sprite;
|
||
_defaultLoadingSpriteCached = true;
|
||
}
|
||
var assets = Table.Instance != null ? Table.Instance.PlayerDataAssets : null;
|
||
if (assets == null) return;
|
||
if (!assets.GetPlayerInfo(empire, out var info) || info == null) return;
|
||
if (info.LoadingPic == null) return;
|
||
LoadingPic.sprite = info.LoadingPic;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 还原为 prefab 上的默认 LoadingPic(若曾经被替换过)。
|
||
/// </summary>
|
||
public void ResetLoadingPic()
|
||
{
|
||
if (LoadingPic == null) return;
|
||
if (_defaultLoadingSpriteCached)
|
||
LoadingPic.sprite = _defaultLoadingSprite;
|
||
}
|
||
|
||
/*public override void Show()
|
||
{
|
||
gameObject.SetActive(true);
|
||
if(Animancer!=null)Animancer.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeIn);
|
||
}
|
||
|
||
public override void Hide()
|
||
{
|
||
if (Animancer != null)
|
||
{
|
||
var state = Animancer.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeIn);
|
||
state.Events.OnEnd = () => { gameObject.SetActive(false); };
|
||
}
|
||
else
|
||
gameObject.SetActive(false);
|
||
}*/
|
||
}
|
||
|
||
}
|