CutePet/Assets/Scripts/BeginScene/Panel/LodingPanel.cs

86 lines
2.5 KiB
C#
Raw Normal View History

2024-10-25 11:10:04 +08:00
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using AsyncOperation = UnityEngine.AsyncOperation;
public class LodingPanel : BasePanel
{
public RectTransform imgFront;
public float maxWidth = 850f;
float progress = 0f;
private bool isFinish = false;
public override void Init()
{
// <20><>ʼ<EFBFBD><CABC><EFBFBD>س<EFBFBD><D8B3><EFBFBD>
StartCoroutine(LoadSceneAsync());
}
protected override void Awake()
{
base.Awake();
UpdateProgress(progress);
}
protected override void Update()
{
base.Update();
// <20><><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD>
if (progress < 1f)
{
progress += Time.deltaTime * 0.5f;
UpdateProgress(progress);
}
else
{
progress = 1f;
UpdateProgress(progress);
}
if (isFinish&&progress==1)
{
UIManager.Instance.HidePanel<LodingPanel>(false);
UIManager.Instance.ShowPanel<GamePanel>();
}
}
private IEnumerator LoadSceneAsync()
{
//<2F><>ȡ΢<C8A1><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GameDataMgr.Instance.loginMsg.openId = "user_openid_1223asasdf";
GameDataMgr.Instance.loginMsg.username = "player132";
GameDataMgr.Instance.loginMsg.picUrl = "https://example.com/pic.png";
yield return StartCoroutine(NetMgr.Instance.PlayerDataPost(GameDataMgr.Instance.loginMsg));
// <20><>ʼ<EFBFBD><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AsyncOperation operation = SceneManager.LoadSceneAsync("GameScene");
yield return StartCoroutine(NetMgr.Instance.PlayerTempGet());
GameDataMgr.Instance.levRankMsg.id = GameDataMgr.Instance.player.customLev;
if (GameDataMgr.Instance.player.customLev==0)
{
GameDataMgr.Instance.levRankMsg.id = 1;
}
GameDataMgr.Instance.levRankMsg.openId = GameDataMgr.Instance.player.openId;
yield return StartCoroutine(NetMgr.Instance.LevPetInfoPost(GameDataMgr.Instance.levRankMsg));
yield return StartCoroutine(GameMgr.Instance.CreatePetObj());
isFinish =true;
}
private void UpdateProgress(float progress)
{
// <20><><EFBFBD><EFBFBD> Image <20>Ŀ<EFBFBD><C4BF><EFBFBD>
float newWidth = maxWidth * progress;
imgFront.sizeDelta = new Vector2(newWidth, imgFront.sizeDelta.y);
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> JavaScript <20><>΢<EFBFBD><CEA2><EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ
public void ReceiveWeChatInfo(string weChatData)
{
GameDataMgr.Instance.loginMsg = JsonUtility.FromJson<LoginMsg>(weChatData);
}
}