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

View File

@ -12,12 +12,18 @@ public class ScoreManager : MonoBehaviour
{ {
instance = this; instance = this;
scoreSubjectList = transform.GetComponentsInChildren<ScoreBase>(true).ToList(); scoreSubjectList = transform.GetComponentsInChildren<ScoreBase>(true).ToList();
scoreSubjectList.ForEach(a => ReInit();
}
/// <summary>
/// 重置数据
/// </summary>
public void ReInit()
{
scoreSubjectList.ForEach(a =>
{ {
a.Init(); a.Init();
}); });
} }
/// <summary> /// <summary>
/// ¼ì²â·ÖÊý /// ¼ì²â·ÖÊý
/// </summary> /// </summary>
@ -33,4 +39,22 @@ public class ScoreManager : MonoBehaviour
scoreSubjectList.Find(a => a.systemId == systemctlid && a.schemeId == schemeid)?.CheckScore(triggerName, para); 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> /// </summary>
public bool isOneVoteVeto; public bool isOneVoteVeto;
/// <summary>
/// ²½Öè
/// </summary>
public D_SubProcess setp;
public ScoreSubjectStep(int subProcessId,float maxScore,bool isOneVoteVeto=false) public ScoreSubjectStep(int subProcessId,float maxScore,bool isOneVoteVeto=false)
{ {

View File

@ -3,6 +3,7 @@ using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using Unity.VisualScripting; using Unity.VisualScripting;
using Unity.VisualScripting.Antlr3.Runtime.Misc;
using UnityEngine; using UnityEngine;
public class Score_1002 : ScoreBase public class Score_1002 : ScoreBase
@ -39,6 +40,18 @@ public class Score_1002 : ScoreBase
steps.Add(a.subProcessId, a); 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(); TestPen3list.Clear();
InSwitchCloseYDList.Clear(); InSwitchCloseYDList.Clear();
InSwitchOpenYDList.Clear(); InSwitchOpenYDList.Clear();
@ -48,16 +61,6 @@ public class Score_1002 : ScoreBase
currentInstallTestJieXian.Clear(); currentInstallTestJieXian.Clear();
} }
#if UNITY_EDITOR
private void Update()
{
if (Input.GetKeyDown(KeyCode.O))
{
GetTotalScore();
}
}
#endif
/// <summary> /// <summary>
/// Èý²½Ñéµç˳Ðò /// Èý²½Ñéµç˳Ðò
/// </summary> /// </summary>