This commit is contained in:
陈向学 2024-09-03 09:48:19 +08:00
parent 21202a44af
commit 8c57515bb2
4 changed files with 54 additions and 14 deletions

View File

@ -42,9 +42,9 @@ public abstract class ScoreBase : MonoBehaviour
}
/// <summary>
/// 获取总分和各步骤分数
/// 获取总分
/// </summary>
public void GetTotalScore()
public float GetTotalScore()
{
float all = 0;
foreach (var item in steps)
@ -58,6 +58,15 @@ public abstract class ScoreBase : MonoBehaviour
}
Debug.LogError("总分为:" + all);
return all;
}
/// <summary>
/// 返回成绩详情
/// </summary>
/// <returns></returns>
public Dictionary<int, ScoreSubjectStep> GetStepScore()
{
Debug.LogError(JsonConvert.SerializeObject(steps));
return steps;
}
}

View File

@ -12,12 +12,18 @@ public class ScoreManager : MonoBehaviour
{
instance = this;
scoreSubjectList = transform.GetComponentsInChildren<ScoreBase>(true).ToList();
ReInit();
}
/// <summary>
/// 重置数据
/// </summary>
public void ReInit()
{
scoreSubjectList.ForEach(a =>
{
a.Init();
});
}
/// <summary>
/// ¼ì²â·ÖÊý
/// </summary>
@ -33,4 +39,22 @@ public class ScoreManager : MonoBehaviour
scoreSubjectList.Find(a => a.systemId == systemctlid && a.schemeId == schemeid)?.CheckScore(triggerName, para);
}
/// <summary>
/// 获取总分
/// </summary>
/// <param name="subjectid"></param>
/// <returns></returns>
public float GetScore(int subjectid)
{
return scoreSubjectList.Find(a=>a.schemeId== subjectid).GetTotalScore();
}
/// <summary>
/// 获取分步骤得分详情
/// </summary>
/// <param name="subjectid"></param>
/// <returns></returns>
public Dictionary<int, ScoreSubjectStep> GetStepScore(int subjectid)
{
return scoreSubjectList.Find(a => a.schemeId == subjectid).GetStepScore();
}
}

View File

@ -24,6 +24,10 @@ public class ScoreSubjectStep
/// 是否一票否决
/// </summary>
public bool isOneVoteVeto;
/// <summary>
/// ²½Öè
/// </summary>
public D_SubProcess setp;
public ScoreSubjectStep(int subProcessId,float maxScore,bool isOneVoteVeto=false)
{

View File

@ -3,6 +3,7 @@ using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Unity.VisualScripting;
using Unity.VisualScripting.Antlr3.Runtime.Misc;
using UnityEngine;
public class Score_1002 : ScoreBase
@ -39,6 +40,18 @@ public class Score_1002 : ScoreBase
steps.Add(a.subProcessId, a);
});
List<D_SubProcess> dsteps=new List<D_SubProcess>();
DataManager.Instance.d_System.subjects.Find(a => a.id == 1002).processes.ForEach(a =>
{
dsteps.AddRange(a.subProcesses);
});
for (int i = 0; i < steps.Count; i++)
{
steps[i].setp = dsteps[i];
}
//ÇåÀí»º´æ
TestPen3list.Clear();
InSwitchCloseYDList.Clear();
InSwitchOpenYDList.Clear();
@ -48,16 +61,6 @@ public class Score_1002 : ScoreBase
currentInstallTestJieXian.Clear();
}
#if UNITY_EDITOR
private void Update()
{
if (Input.GetKeyDown(KeyCode.O))
{
GetTotalScore();
}
}
#endif
/// <summary>
/// Èý²½Ñéµç˳Ðò
/// </summary>