147 lines
6.1 KiB
C#
147 lines
6.1 KiB
C#
using ChartAndGraph;
|
||
using Newtonsoft.Json;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
using UnityEngine.UI;
|
||
using ZXKFramework;
|
||
namespace DongWuYiXue.DaoNiaoShu
|
||
{
|
||
public class KaoHePanel : UIBase
|
||
{
|
||
RectTransform content;
|
||
GameObject step;
|
||
CanvasRadarChart radar;
|
||
//GameObject aiSpeak;
|
||
//Text aiText;
|
||
public override string GroupName => "KaoHePanel";
|
||
public override string Name => "KaoHePanel";
|
||
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);
|
||
}
|
||
//void ShowSpeak(string userScoreTxt)
|
||
//{
|
||
// ChatAI.Instance.SendData(userScoreTxt, SuccessCallback, FailureCallback);
|
||
//}
|
||
//void SuccessCallback(string message)
|
||
//{
|
||
// if (string.IsNullOrEmpty(message)) return;
|
||
// aiSpeak.SetActive(true);
|
||
// aiText.text = message;
|
||
// ChatAI.Instance.PlayVoice(message);
|
||
//}
|
||
//void FailureCallback(string message)
|
||
//{
|
||
// if (string.IsNullOrEmpty(message)) return;
|
||
// aiSpeak.SetActive(true);
|
||
// aiText.text = message;
|
||
//}
|
||
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);
|
||
//}
|
||
}
|
||
} |