2025-09-08 17:37:12 +08:00

130 lines
5.5 KiB
C#
Raw Blame History

using ChartAndGraph;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using ZXKFramework;
namespace DongWuYiXue.DaoNiaoShu
{
public class ChengJiPanel : UIBase
{
RectTransform content;
GameObject step;
CanvasRadarChart radar;
//GameObject aiSpeak;
//Text aiText;
public override string GroupName => "ChengJiPanel";
public override string Name => "ChengJiPanel";
public override void Init(IUIManager uictrl)
{
base.Init(uictrl);
content = transform.FindFirst<RectTransform>("Content");
step = transform.FindFirst<Transform>("Step").gameObject;
radar = transform.FindFirst<CanvasRadarChart>("Radar");
}
public override void Show()
{
base.Show();
GeneSteps(GameManager.Instance.kaoheManager.results);
transform.FindFirst<Text>("timeText").text = GameManager.Instance.timeCounterManager.GetRemainTime();
transform.FindFirst<Text>("totalScoreText").text = GameManager.Instance.kaoheManager.totalScore.ToString();
SetRadar();
transform.FindFirst<Text>("BottomText").gameObject.SetActive(true);
}
public void GeneSteps(List<Step> steps)
{
for (int i = 0; i < steps.Count; i++)
{
int seq = i + 1;
Step s = steps[i];
GameObject obj = Instantiate(step, content);
obj.SetActive(true);
obj.transform.FindFirst<Text>("ID").text = seq.ToString();
obj.transform.FindFirst<Text>("Name").text = s.stepName;
obj.transform.FindFirst<Text>("Type").text = s.stepType;
obj.transform.FindFirst<Text>("MaxScore").text = s.maxScore;
obj.transform.FindFirst<Text>("Score").text = s.score.ToString();
}
}
public void SetRadar()
{
double czjc = 0;
double jnzd = 0;
double wjgn = 0;
double lcsw = 0;
double rwgh = 0;
double czjc_max = 0;
double jnzd_max = 0;
double wjgn_max = 0;
double lcsw_max = 0;
double rwgh_max = 0;
List<Step> steps = GameManager.Instance.kaoheManager.results;
string json = JsonConvert.SerializeObject(steps);
foreach (Step step in steps)
{
switch (step.stepType)
{
case "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>":
czjc += Convert.ToDouble(step.score);
czjc_max += Convert.ToDouble(step.maxScore);
break;
case "<22>ٴ<EFBFBD>˼ά":
lcsw += Convert.ToDouble(step.score);
lcsw_max += Convert.ToDouble(step.maxScore);
break;
case "<22><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>":
jnzd += Convert.ToDouble(step.score);
jnzd_max += Convert.ToDouble(step.maxScore);
break;
case "<22>޾<EFBFBD><DEBE><EFBFBD><EFBFBD><EFBFBD>":
wjgn += Convert.ToDouble(step.score);
wjgn_max += Convert.ToDouble(step.maxScore);
break;
case "<22><><EFBFBD>Ĺػ<C4B9>":
rwgh += Convert.ToDouble(step.score);
rwgh_max += Convert.ToDouble(step.maxScore);
break;
}
}
////Debug.Log(czjc + "=" + lcsw + "=" + jnzd + "=" + wjgn + "=" + rwgh);
if (czjc_max != 0)
{
radar.DataSource.SetValue("Player 1", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", czjc / czjc_max * 10);
}
if (lcsw_max != 0)
{
radar.DataSource.SetValue("Player 1", "<22>ٴ<EFBFBD>˼ά", lcsw / lcsw_max * 10);
}
if (jnzd_max != 0)
{
radar.DataSource.SetValue("Player 1", "<22><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>", jnzd / jnzd_max * 10);
}
if (wjgn_max != 0)
{
radar.DataSource.SetValue("Player 1", "<22>޾<EFBFBD><DEBE><EFBFBD><EFBFBD><EFBFBD>", wjgn / wjgn_max * 10);
}
if (rwgh_max != 0)
{
radar.DataSource.SetValue("Player 1", "<22><><EFBFBD>Ĺػ<C4B9>", rwgh / rwgh_max * 10);
}
string result = "ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>Json<6F>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ijɼ<C4B3><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + json.Replace("\"", "\\\"");
//Debug.Log("ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>Json<6F>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ijɼ<C4B3><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + json);
//uiManager.GetUI<AIPanel>().SendStateToAI(result, () =>
//{
// transform.FindFirst<Text>("BottomText").gameObject.SetActive(false);
//}, null, false, false);
//ChatUI2.Instance.SendAI(result+", <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>120<32><30><EFBFBD><EFBFBD>", () => {
// transform.FindFirst<Text>("BottomText").gameObject.SetActive(false);
//});
//ShowSpeak("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + GameManager.Instance.kaoheManager.czjc_Max + "<22>û<EFBFBD><C3BB>÷<EFBFBD>" + czjc + "<22><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>"+ GameManager.Instance.kaoheManager.jnzd_Max + "<22>û<EFBFBD><C3BB>÷<EFBFBD>" + jnzd + "<22>޾<EFBFBD><DEBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + GameManager.Instance.kaoheManager.wjgn_Max + "<22>û<EFBFBD><C3BB>÷<EFBFBD>" + wjgn + "<22><><EFBFBD>Ĺػ<C4B9><D8BB><EFBFBD><EFBFBD><EFBFBD>" + GameManager.Instance.kaoheManager.rwgh_Max + "<22>û<EFBFBD><C3BB>÷<EFBFBD>" + rwgh + "<22>ٴ<EFBFBD>˼ά<CBBC><CEAC><EFBFBD><EFBFBD>" + GameManager.Instance.kaoheManager.lcsw_Max +"<22>û<EFBFBD><C3BB>÷<EFBFBD>" + lcsw);
}
//public override void Hide()
//{
// base.Hide();
// aiSpeak.SetActive(false);
//}
}
}