diff --git a/Assets/Scripts/CXX/Devices/杂/接线完好检查/Check_JieXian.cs b/Assets/Scripts/CXX/Devices/杂/接线完好检查/Check_JieXian.cs index 9fed5d1..a79ef80 100644 --- a/Assets/Scripts/CXX/Devices/杂/接线完好检查/Check_JieXian.cs +++ b/Assets/Scripts/CXX/Devices/杂/接线完好检查/Check_JieXian.cs @@ -35,7 +35,8 @@ public class Check_JieXian : PermanentTriggerBase tipPanel.Init("ã"); } - if (GameManager.ProcessMgr != null) - GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(triggerName, true); + GameManager.ProcessMgr?.IsRightSubProcessStepsTriggerID(triggerName, true); + + base.CallScoreAction(true); } } diff --git a/Assets/Scripts/CXX/Score/Score_1002.cs b/Assets/Scripts/CXX/Score/Score_1002.cs index c1a9c5c..bc3bc94 100644 --- a/Assets/Scripts/CXX/Score/Score_1002.cs +++ b/Assets/Scripts/CXX/Score/Score_1002.cs @@ -36,18 +36,28 @@ public class Score_1002 : ScoreBase { steps.Add(a.subProcessId, a); }); + + TestPen3list.Clear(); } + /// + /// ˳ + /// + List TestPen3list = new List(); + /// + /// + /// + List TestInSwitchList=new List(); public override void CheckScore(string triggerName, object para) { base.CheckScore(triggerName, para); - if(triggerName =="ֻ") + if (triggerName == "ֻ") { - if(para.ToString()== "") + if (para.ToString() == "") { steps[3001].SetScore(true); } - else if(para.ToString()== "") + else if (para.ToString() == "") { steps[3002].SetScore(true); } @@ -56,20 +66,112 @@ public class Score_1002 : ScoreBase { //Ƿ񴩴 float tmp = 0; - tmp +=(PacksackBagMgr.Instance.wearDic.ContainsKey("ȫñ") ? 0.25f : 0); + tmp += (PacksackBagMgr.Instance.wearDic.ContainsKey("ȫñ") ? 0.25f : 0); tmp += (PacksackBagMgr.Instance.wearDic.ContainsKey("") ? 0.25f : 0); tmp += (PacksackBagMgr.Instance.wearDic.ContainsKey("Ե") ? 0.25f : 0); tmp += (PacksackBagMgr.Instance.wearDic.ContainsKey("Եѥ") ? 0.25f : 0); - steps[3003].SetScore(tmp); + steps[3005].SetScore(tmp); //鱳ǷЯ string[] shoudleTools = new string[] { "ǯ", "Ե˿", "", "֤", "װӡ", "Ե", "ߵܱ", "ȫñ", "", "Ե", "Եѥ" }; float tmp2 = 1; - shoudleTools.ToList().ForEach(a => + shoudleTools.ToList().ForEach(a => { tmp2 -= (PacksackBagMgr.Instance.toolAndMaterialDic.ContainsKey(a) ? 0 : 0.1f); }); - steps[3004].SetScore(Mathf.Clamp01(tmp2)); + steps[3006].SetScore(Mathf.Clamp01(tmp2)); + } + else if (triggerName == "֤") + { + //ͻͨ + steps[3007].SetScore(true); + } + else if (triggerName == "NPC") + { + //ǰ + steps[3008].SetScore(true); + } + else if (triggerName == "") + { + if ((bool)para) + { + //߼ + //жǷȷ + if (isCheckE()) + { + steps[3009].SetScore(true); + } + else + { + + } + } + } + else if (triggerName == "+" || triggerName == "+") + { + //¼˳ + TestPen3list.Add(triggerName); + } + else if (triggerName == "+in_˿1" || triggerName == "+in_˿2" || triggerName == "+in_˿3") + { + if(SiteManager.instance.measuringCabinet.inSwitch.isOpen==false) + { + TestInSwitchList.Add(triggerName); + isInSwitchCheckE(); + } + } + } + + /// + /// + /// + /// + private bool isCheckE() + { + int guimen = 0; + if (TestPen3list.Count >= 3) + { + for (int i = 0; i < TestPen3list.Count; i++) + { + if (i == 0) + { + if (TestPen3list[i] != "+") + break; + } + else + { + if (TestPen3list[i] == "+") + { + guimen = i; + } + else + { + if (guimen != 0) + { + // + Debug.Log("ȷ"); + return true; + } + } + } + } + } + + return false; + } + /// + /// + /// + /// + private bool isInSwitchCheckE() + { + if (TestInSwitchList.Contains("+in_˿1") && TestInSwitchList.Contains("+in_˿2") && TestInSwitchList.Contains("+in_˿2")) + { + return true; + } + else + { + return false; } } } diff --git a/Assets/Scripts/CXX/Tools/Tool_TestPen.cs b/Assets/Scripts/CXX/Tools/Tool_TestPen.cs index 7cdde69..b8c82a9 100644 --- a/Assets/Scripts/CXX/Tools/Tool_TestPen.cs +++ b/Assets/Scripts/CXX/Tools/Tool_TestPen.cs @@ -83,6 +83,7 @@ public class Tool_TestPen : Tool_Base Debug.Log("_ "); isFlicker = tmp.hasElectricity; screem.materials[0].color = isFlicker ? Color.red : Color.white; + base.CallScoreAction(null, $"{triggerName}+{device_base.triggerName}"); }); } else if (device_base.deviceType == DeviceType._) @@ -97,6 +98,7 @@ public class Tool_TestPen : Tool_Base Debug.Log("_ "); isFlicker = tmp.hasElectricity; screem.materials[0].color = isFlicker ? Color.red : Color.white; + base.CallScoreAction(null, $"{triggerName}+{device_base.triggerName}"); }); } } @@ -121,6 +123,7 @@ public class Tool_TestPen : Tool_Base Debug.Log("˿ "); isFlicker = tmp.hasElectricity; screem.materials[0].color = isFlicker ? Color.red : Color.white; + base.CallScoreAction(null, $"{triggerName}+{tool_base.triggerName}"); }); } } diff --git a/Assets/Scripts/Project/Manager/LiveSceneManager.cs b/Assets/Scripts/Project/Manager/LiveSceneManager.cs index 45ef364..265ebdd 100644 --- a/Assets/Scripts/Project/Manager/LiveSceneManager.cs +++ b/Assets/Scripts/Project/Manager/LiveSceneManager.cs @@ -35,6 +35,7 @@ public class LiveSceneManager : SingletonMono p.Init(currentTool.name, "ãxx繫˾ԱҵĹ֤ҪԹ󻧸ܼ", (intTemp) => { GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(intTemp, true); + ScoreManager.instance.Check(currentTool.name, null); Destroy(currentTool); }); }); diff --git a/Assets/Scripts/Project/Objects/Other/NPCController.cs b/Assets/Scripts/Project/Objects/Other/NPCController.cs index 8d9d15c..d894d80 100644 --- a/Assets/Scripts/Project/Objects/Other/NPCController.cs +++ b/Assets/Scripts/Project/Objects/Other/NPCController.cs @@ -33,6 +33,8 @@ public class NPCController : PermanentTriggerBase else { GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(triggerName, true); + //̸ص + ScoreManager.instance.Check(triggerName, null); if (GameManager.UIMgr.GetPanel()) GameManager.UIMgr.HidePanel(); speackIndex = 0; diff --git a/Assets/Scripts/Project/Objects/Other/PermanentTriggerBase.cs b/Assets/Scripts/Project/Objects/Other/PermanentTriggerBase.cs index eb64858..d79e3f3 100644 --- a/Assets/Scripts/Project/Objects/Other/PermanentTriggerBase.cs +++ b/Assets/Scripts/Project/Objects/Other/PermanentTriggerBase.cs @@ -17,7 +17,7 @@ public class PermanentTriggerBase : MonoBehaviour /// /// ¼ /// - public Action scoreAction; + private Action scoreAction; private void Awake() { @@ -100,4 +100,15 @@ public class PermanentTriggerBase : MonoBehaviour { this.scoreAction = back; } + /// + /// ôֹ + /// + /// Ĭϲ + /// /// ʶ ĬϴԼ + /// ϵͳid Ĭϵǰϵͳ + /// Ŀid ĬϵǰĿ + public void CallScoreAction(object para=null ,string triggerName = null, int systemcid=0,int shchmeid=0) + { + scoreAction?.Invoke(triggerName==null?this.triggerName:triggerName, para, systemcid, shchmeid); + } }