2025-01-19 11:20:01 +08:00

87 lines
2.8 KiB
C#

using Newtonsoft.Json;
using TMPro;
using UnityEngine;
namespace QFramework.Example
{
public class UIScoreData : UIPanelData
{
}
public partial class UIScore : UIPanel
{
protected override void OnInit(IUIData uiData = null)
{
mData = uiData as UIScoreData ?? new UIScoreData();
TypeEventSystem.Global.Register<OnModuleQuit>((arg) => Hide()).UnRegisterWhenGameObjectDestroyed(gameObject);
DownLoad.onClick.AddListener(() =>
{
if (string.IsNullOrEmpty(InputName.text) || string.IsNullOrEmpty(InputId.text))
{
Debug.LogError("ÐÕÃû»òÕßѧºÅΪ¿Õ");
return;
}
ResLoader loader = ResLoader.Allocate();
loader.Add2Load(Global.reportDemoPath.ToLocalBytesResName(), (success, res) =>
{
if (success)
{
byte[] bytes = res.As<LocalBytesRes>().bytes;
var data = new LabReprotData();
data.realname = InputName.text;
data.biaobencaiji_1_buzhou_1 = "[1111]";
string json = JsonConvert.SerializeObject(data);
#if UNITY_WEBGL
WebGLDownLoadFile.Instance.DownloadDocx(bytes, json);
#endif
}
});
loader.LoadAsync();
});
Confirm.onClick.AddListener(Hide);
}
protected override void OnOpen(IUIData uiData = null)
{
Content.RemoveAllChildren();
float sum = 0;
float score = 0;
foreach (var moduleDict in ScoreController.Instance.moduleDict)
{
foreach (var item in moduleDict.Value.scoreDict)
{
GameObject obj = GameObject.Instantiate(ItemPrefab.gameObject, Content);
obj.transform.Find("Step").GetComponent<TextMeshProUGUI>().text = item.Value.step;
obj.transform.Find("Name").GetComponent<TextMeshProUGUI>().text = item.Value.name;
obj.transform.Find("Sum").GetComponent<TextMeshProUGUI>().text = item.Value.sum;
obj.transform.Find("Score").GetComponent<TextMeshProUGUI>().text = item.Value.value.ToString();
sum += float.Parse(item.Value.sum);
score += item.Value.value;
}
}
this.Score.text = score.ToString();
this.Sum.text = sum.ToString();
}
protected override void OnShow()
{
}
protected override void OnHide()
{
}
protected override void OnClose()
{
}
}
}