Merge branch 'SXElectricityInformationAcquisition' of http://gitea.umayle.com/huangjiayu/ShanxiKnowledgeBase into SXElectricityInformationAcquisition

This commit is contained in:
taosuqi 2024-06-18 16:08:15 +08:00
commit ebeccad778
27 changed files with 336 additions and 373 deletions

View File

@ -48,19 +48,19 @@ public class JunctionBox : MonoBehaviour
{ {
case "쌈窟분李蕨뺄욥001": case "쌈窟분李蕨뺄욥001":
hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.06131744f, -0.0075f, 0.0089f), 1f); hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.06131744f, -0.0075f, 0.0089f), 1f);
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
break; break;
case "쌈窟분李蕨뺄욥002": case "쌈窟분李蕨뺄욥002":
hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.02013969f, -0.0075f, 0.0089f), 1f); hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.02013969f, -0.0075f, 0.0089f), 1f);
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
break; break;
case "쌈窟분李蕨뺄욥003": case "쌈窟분李蕨뺄욥003":
hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.02001452f, -0.0075f, 0.0089f), 1f); hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.02001452f, -0.0075f, 0.0089f), 1f);
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
break; break;
case "쌈窟분李蕨뺄욥004": case "쌈窟분李蕨뺄욥004":
hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.06075525f, -0.0075f, 0.0089f), 1f); hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.06075525f, -0.0075f, 0.0089f), 1f);
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
break; break;
} }
} }

View File

@ -114,12 +114,12 @@ Material:
- _UVSec: 0 - _UVSec: 0
- _ZWrite: 1 - _ZWrite: 1
- __dirty: 0 - __dirty: 0
- _step_p1: 0 - _step_p1: 1
- _step_p2: 0 - _step_p2: 1
- _step_p3: 0 - _step_p3: 1
- _step_p4: 0 - _step_p4: 1
- _step_p5: 0 - _step_p5: 1
- _step_p6: 0 - _step_p6: 1
m_Colors: m_Colors:
- _BaseCol: {r: 0.23429155, g: 0.28497556, b: 0.3679245, a: 0} - _BaseCol: {r: 0.23429155, g: 0.28497556, b: 0.3679245, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1}

View File

@ -25,7 +25,7 @@ Material:
m_TexEnvs: [] m_TexEnvs: []
m_Ints: [] m_Ints: []
m_Floats: m_Floats:
- _LightSpeed: 2 - _LightSpeed: 3
- _LightSwitch: 0 - _LightSwitch: 0
- __dirty: 1 - __dirty: 1
m_Colors: m_Colors:

View File

@ -7581,9 +7581,10 @@ MonoBehaviour:
m_GameObject: {fileID: 505215068} m_GameObject: {fileID: 505215068}
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0234ae9c682a4828aa916e415ad8b21d, type: 3} m_Script: {fileID: 11500000, guid: 51f73ee94f284a86b677a6bc74544094, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_toolsPackScene: 0
--- !u!1 &514951653 --- !u!1 &514951653
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -26381,6 +26381,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 51f73ee94f284a86b677a6bc74544094, type: 3} m_Script: {fileID: 11500000, guid: 51f73ee94f284a86b677a6bc74544094, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_toolsPackScene: 1
--- !u!4 &1516723168 --- !u!4 &1516723168
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -122,22 +122,22 @@ public class Screwdriver : MonoBehaviour
if (hit.collider.gameObject.name == "맨_미땍쭁介_Rup") if (hit.collider.gameObject.name == "맨_미땍쭁介_Rup")
{ {
StartCoroutine(Rscrew()); StartCoroutine(Rscrew());
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
if (hit.collider.gameObject.name == "미땍쭁介_Ldown") if (hit.collider.gameObject.name == "미땍쭁介_Ldown")
{ {
StartCoroutine(Lscrew()); StartCoroutine(Lscrew());
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
if (hit.collider.gameObject.name == "옳미땍쭁介_R") if (hit.collider.gameObject.name == "옳미땍쭁介_R")
{ {
Debug.Log(hit.collider.gameObject.name); Debug.Log(hit.collider.gameObject.name);
StartCoroutine(IERconcentratorScrew()); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); StartCoroutine(IERconcentratorScrew()); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
if (hit.collider.gameObject.name == "옳미땍쭁介_L") if (hit.collider.gameObject.name == "옳미땍쭁介_L")
{ {
Debug.Log(hit.collider.gameObject.name); Debug.Log(hit.collider.gameObject.name);
StartCoroutine(IELconcentratorScrew()); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); StartCoroutine(IELconcentratorScrew()); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
for (int i = 0; i < ScrewObj.Length; i++) for (int i = 0; i < ScrewObj.Length; i++)
{ {
@ -146,17 +146,18 @@ public class Screwdriver : MonoBehaviour
Debug.Log(hit.collider.gameObject.name); Debug.Log(hit.collider.gameObject.name);
ScrewObj[i].gameObject.SetActive(false); ScrewObj[i].gameObject.SetActive(false);
ScrewdriverTrans.gameObject.transform.localPosition = new Vector3(3.1215f, 2.1383f, -1.3484f); ScrewdriverTrans.gameObject.transform.localPosition = new Vector3(3.1215f, 2.1383f, -1.3484f);
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
} }
if (hit.collider.gameObject.name == "미땍쭁介_Rdown") if (hit.collider.gameObject.name == "미땍쭁介_Rdown")
{ {
Debug.Log(hit.collider.gameObject.name); Debug.Log(hit.collider.gameObject.name);
StartCoroutine(right()); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); StartCoroutine(right()); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
if (hit.collider.gameObject.name == "섞든포미땍쭁介_Ldown") if (hit.collider.gameObject.name == "섞든포미땍쭁介_Ldown")
{ {
Debug.Log(hit.collider.gameObject.name); Debug.Log(hit.collider.gameObject.name);
StartCoroutine(left()); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); StartCoroutine(left()); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
} }

View File

@ -35,7 +35,7 @@ public class CharacterMirrorManager : MonoBehaviour
{ {
if(EventSystem.current.IsPointerOverGameObject()) if(EventSystem.current.IsPointerOverGameObject())
return; return;
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(this.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(this.gameObject.name);
StartCoroutine(FadeIn(uiImage, 0.5f)); StartCoroutine(FadeIn(uiImage, 0.5f));
} }

View File

@ -23,8 +23,8 @@ public class ConsumePowerManager : MonoBehaviour
confirmBt.onClick.AddListener(delegate confirmBt.onClick.AddListener(delegate
{ {
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(GameObject.Find("临时用电")); MotionEngine.GetModule<AnimationProcessManager>().HandleClick("临时用电");
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(GameObject.Find("现场调试")); MotionEngine.GetModule<AnimationProcessManager>().HandleClick("现场调试");
OnOpenLight(); OnOpenLight();
}); });

View File

@ -40,19 +40,19 @@ namespace DefaultNamespace
public void SetProcessMode(int index) public void SetProcessMode(int index)
{ {
if (index == 0) if (index == 0)// 教学模式
{ {
_processMode = DefaultNamespace.ProcessMode.ProcessMode.Teaching; _processMode = DefaultNamespace.ProcessMode.ProcessMode.Teaching;
} }
else if (index == 1) else if (index == 1)// 培训模式
{ {
_processMode = DefaultNamespace.ProcessMode.ProcessMode.Training; _processMode = DefaultNamespace.ProcessMode.ProcessMode.Training;
} }
else if (index == 2) else if (index == 2)// 练习模式
{ {
_processMode = DefaultNamespace.ProcessMode.ProcessMode.Practice; _processMode = DefaultNamespace.ProcessMode.ProcessMode.Practice;
} }
else if (index == 3) else if (index == 3)// 考核模式
{ {
_processMode = DefaultNamespace.ProcessMode.ProcessMode.Assessment; _processMode = DefaultNamespace.ProcessMode.ProcessMode.Assessment;
} }

View File

@ -6,23 +6,23 @@ namespace DefaultNamespace.ProcessMode
{ {
public class ActionWithDescription public class ActionWithDescription
{ {
public List<GameObject> TargetObjects { get; set; } public List<string> TargetObjects { get; set; }
public Action Action { get; set; } public Action Action { get; set; }
public string Description { get; set; } public string Description { get; set; }
public bool IsSequential { get; set; } // 是否按顺序点击 public bool IsSequential { get; set; } // 是否按顺序点击
public HashSet<GameObject> ClickedObjects { get; private set; } // 已点击的对象集合 public HashSet<string> ClickedObjects { get; private set; } // 已点击的对象集合
public int CurrentObjectIndex { get; set; } // 当前对象的点击索引,仅用于按顺序点击的情况 public int CurrentObjectIndex { get; set; } // 当前对象的点击索引,仅用于按顺序点击的情况
public bool FeedbackDisplayed { get; set; } // 是否已经显示过反馈 public bool FeedbackDisplayed { get; set; } // 是否已经显示过反馈
public string StepDescription { get; set; } public string StepDescription { get; set; }
public ActionWithDescription(List<GameObject> targetObjects, Action action, string description, bool isSequential,string stepDescription) public ActionWithDescription(List<string> targetObjects, Action action, string description, bool isSequential, string stepDescription)
{ {
TargetObjects = targetObjects ?? new List<GameObject>(); TargetObjects = targetObjects ?? new List<string>();
Action = action; Action = action;
Description = description; Description = description;
IsSequential = isSequential; IsSequential = isSequential;
ClickedObjects = new HashSet<GameObject>(); // 初始化已点击的对象集合 ClickedObjects = new HashSet<string>(); // 初始化已点击的对象集合
CurrentObjectIndex = 0; // 初始化为第一个对象 CurrentObjectIndex = 0; // 初始化为第一个对象
FeedbackDisplayed = false; // 初始化反馈未显示 FeedbackDisplayed = false; // 初始化反馈未显示

View File

@ -26,7 +26,9 @@ namespace DefaultNamespace.ProcessMode
public delegate void SendMessagePrompt(string message); public delegate void SendMessagePrompt(string message);
// 定义一个事件,使用委托类型 /// <summary>
/// 全部流程结束调用方法
/// </summary>
public event CompleteEventHandler OnCompleteEvent; public event CompleteEventHandler OnCompleteEvent;
public event UIEventHandler OnUIEvent; public event UIEventHandler OnUIEvent;
public event SendMessagePrompt OnSendMessagePrompt; public event SendMessagePrompt OnSendMessagePrompt;
@ -58,7 +60,7 @@ namespace DefaultNamespace.ProcessMode
} }
} }
public void HandleClick(GameObject clickedObject) public void HandleClick(string clickedObject)
{ {
string type = currentMode.ToString(); string type = currentMode.ToString();
@ -77,10 +79,10 @@ namespace DefaultNamespace.ProcessMode
if (currentAction.CurrentObjectIndex < currentAction.TargetObjects.Count && if (currentAction.CurrentObjectIndex < currentAction.TargetObjects.Count &&
currentAction.TargetObjects[currentAction.CurrentObjectIndex] == clickedObject) currentAction.TargetObjects[currentAction.CurrentObjectIndex] == clickedObject)
{ {
Debug.Log($"正确点击了:{clickedObject.name}"); Debug.Log($"正确点击了:{clickedObject}");
currentAction.CurrentObjectIndex++; // 正确点击,递增对象索引 currentAction.CurrentObjectIndex++; // 正确点击,递增对象索引
currentAction.ClickedObjects.Add(clickedObject); // 添加到已点击对象集合 currentAction.ClickedObjects.Add(clickedObject); // 添加到已点击对象集合
HandleModeSpecificFeedback(currentMode, currentAction); // 处理模式特定的反馈 HandleModeFeedback(currentMode, currentAction); // 处理模式特定的反馈
if (currentAction.CurrentObjectIndex >= currentAction.TargetObjects.Count) if (currentAction.CurrentObjectIndex >= currentAction.TargetObjects.Count)
{ {
@ -89,26 +91,26 @@ namespace DefaultNamespace.ProcessMode
} }
else else
{ {
string correctObjectName = currentAction.TargetObjects[currentAction.CurrentObjectIndex].name; string correctObjectName = currentAction.TargetObjects[currentAction.CurrentObjectIndex];
Debug.Log($"错误点击或顺序错误:{clickedObject.name}。正确的物体是:{correctObjectName}"); Debug.Log($"错误点击或顺序错误:{clickedObject}。正确的物体是:{correctObjectName}");
} }
} }
else else
{ {
// 不按顺序点击的逻辑 // 不按顺序点击的逻辑
if (currentAction.TargetObjects.Any(obj => obj.name == clickedObject.name)) if (currentAction.TargetObjects.Any(obj => obj == clickedObject))
{ {
if (currentAction.ClickedObjects.Any(obj => obj.name == clickedObject.name)) if (currentAction.ClickedObjects.Any(obj => obj == clickedObject))
{ {
Debug.Log($"错误点击:{clickedObject.name}。这个物体已经点击过。"); Debug.Log($"错误点击:{clickedObject}。这个物体已经点击过。");
return; // 如果物体已经点击过,不继续处理 return; // 如果物体已经点击过,不继续处理
} }
if (!currentAction.ClickedObjects.Contains(clickedObject)) if (!currentAction.ClickedObjects.Contains(clickedObject))
{ {
Debug.Log($"正确点击了:{clickedObject.name}"); Debug.Log($"正确点击了:{clickedObject}");
currentAction.ClickedObjects.Add(clickedObject); // 添加到已点击对象集合 currentAction.ClickedObjects.Add(clickedObject); // 添加到已点击对象集合
HandleModeSpecificFeedback(currentMode, currentAction); // 处理模式特定的反馈 HandleModeFeedback(currentMode, currentAction); // 处理模式特定的反馈
if (currentAction.ClickedObjects.Count >= currentAction.TargetObjects.Count) if (currentAction.ClickedObjects.Count >= currentAction.TargetObjects.Count)
{ {
@ -118,17 +120,17 @@ namespace DefaultNamespace.ProcessMode
} }
else else
{ {
Debug.Log($"错误点击:{clickedObject.name}"); Debug.Log($"错误点击:{clickedObject}");
List<string> correctObjectNames = new List<string>(); List<string> correctObjectNames = new List<string>();
foreach (var obj in currentAction.TargetObjects) foreach (var obj in currentAction.TargetObjects)
{ {
if (!currentAction.ClickedObjects.Contains(obj)) if (!currentAction.ClickedObjects.Contains(obj))
{ {
correctObjectNames.Add(obj.name); correctObjectNames.Add(obj);
} }
} }
string correctObjects = string.Join(", ", correctObjectNames); string correctObjects = string.Join(",", correctObjectNames);
Debug.Log($"正确的物体是:{correctObjects}"); Debug.Log($"正确的物体是:{correctObjects}");
} }
} }
@ -145,7 +147,6 @@ namespace DefaultNamespace.ProcessMode
{ {
Debug.Log($"完成了动作 {currentActionIndex + 1}"); Debug.Log($"完成了动作 {currentActionIndex + 1}");
step.PlayAnimation(currentActionIndex); // 播放当前动作的动画 step.PlayAnimation(currentActionIndex); // 播放当前动作的动画
DisplayActionFeedback(currentMode, currentAction); // 显示模式特定的反馈
currentActionIndex++; currentActionIndex++;
currentAction.CurrentObjectIndex = 0; // 重置当前动作对象索引 currentAction.CurrentObjectIndex = 0; // 重置当前动作对象索引
@ -160,19 +161,13 @@ namespace DefaultNamespace.ProcessMode
if (currentStepIndex < processes[currentMode.ToString()].Steps.Count) if (currentStepIndex < processes[currentMode.ToString()].Steps.Count)
{ {
var nextStep = processes[currentMode.ToString()].Steps[currentStepIndex]; var nextStep = processes[currentMode.ToString()].Steps[currentStepIndex];
PrepareNextStep(currentMode, nextStep.Actions[0]); // 准备下一个步骤 HandleModeFeedback(currentMode, nextStep.Actions[0]); // 准备下一个步骤
// if (nextStep.Actions[0].StepDescription == "临时用电")
// {
// Debug.Log("临时用电临时用电临时用电临时用电临时用电临时用电临时用电临时用电临时用电临时用电");
// OnUIEvent();
// }
} }
else else
{ {
if (MotionEngine.GetModule<ToolsPackManager>().GetToolsPackScene() == ToolsPackScene.) if (MotionEngine.GetModule<ToolsPackManager>().GetToolsPackScene() == ToolsPackScene.)
{ {
OnCompleteEvent(); OnCompleteEvent?.Invoke();
} }
Debug.Log("全部完成了!!!!"); Debug.Log("全部完成了!!!!");
@ -181,73 +176,76 @@ namespace DefaultNamespace.ProcessMode
else else
{ {
Debug.Log("开始下一个动作!"); Debug.Log("开始下一个动作!");
PrepareNextStep(currentMode, step.Actions[currentActionIndex]); // 传递下一个动作对象 HandleModeFeedback(currentMode, step.Actions[currentActionIndex]); // 传递下一个动作对象
}
}
// if (step.Actions[currentActionIndex].StepDescription == "临时用电")
// {
// Debug.Log("临时用电临时用电临时用电临时用电临时用电临时用电临时用电临时用电临时用电临时用电");
// OnUIEvent();
// }
}
}
// Start is called before the first frame update
/// <summary> /// <summary>
/// 根据当前模式显示相应的动作反馈 /// 判断是否为最后一个动作
/// </summary> /// </summary>
/// <param name="mode">当前的流程模式</param>
/// <param name="action">当前的动作</param> /// <param name="action">当前的动作</param>
private void DisplayActionFeedback(ProcessMode mode, ActionWithDescription action) /// <returns>是否为最后一个动作</returns>
private bool IsLastAction(ActionWithDescription action)
{ {
switch (mode) if (currentStepIndex == processes[currentMode.ToString()].Steps.Count - 1 &&
currentActionIndex == processes[currentMode.ToString()].Steps[currentStepIndex].Actions.Count - 1)
{ {
case ProcessMode.Teaching: return true;
HighlightNextObject(action); // 高亮下一个需要点击的物体
break;
case ProcessMode.Training:
//ShowTrainingStep(action); // 在右上角显示流程步骤
break;
case ProcessMode.Practice:
ShowPracticeStep(action); // 只显示当前步骤
break;
case ProcessMode.Assessment:
// 考核模式无提示
break;
} }
return false;
} }
/// <summary> /// <summary>
/// 准备下一个步骤或动作,并根据模式处理相应的提示或反馈 /// 根据当前模式处理相应的反馈逻辑,包括准备下一个步骤或动作
/// </summary> /// </summary>
/// <param name="mode">当前的流程模式</param> /// <param name="mode">当前的流程模式</param>
/// <param name="nextStepOrAction">下一个步骤或动作</param> /// <param name="stepOrAction">当前步骤或动作</param>
public void PrepareNextStep(ProcessMode mode, object nextStepOrAction) public void HandleModeFeedback(ProcessMode mode, object stepOrAction)
{ {
switch (mode) switch (mode)
{ {
case ProcessMode.Teaching: case ProcessMode.Teaching:
HighlightNextObject(nextStepOrAction as ActionWithDescription); // 高亮显示下一个需要点击的物体 HighlightNextObject(stepOrAction as ActionWithDescription); // 高亮下一个需要点击的物体
break; break;
case ProcessMode.Training: case ProcessMode.Training:
// 在培训模式下只打印下一步骤或动作的描述 if (stepOrAction is ActionWithDescription action)
if (nextStepOrAction is ActionWithDescription action)
{ {
Debug.Log($"培训模式:{action.Description}"); Debug.Log($"培训模式:{action.Description}");
OnSendMessagePrompt("提示:" + action.Description); OnSendMessagePrompt?.Invoke("提示:" + action.Description);
// ShowTrainingStep(action.Description); // 在右上角显示流程步骤
} }
else if (nextStepOrAction is AnimationStep step) else if (stepOrAction is AnimationStep step)
{ {
if (step.Actions.Count > 0) if (step.Actions.Count > 0)
{ {
Debug.Log($"培训模式:{step.Actions[0].Description}"); Debug.Log($"培训模式:{step.Actions[0].Description}");
OnSendMessagePrompt("提示:" + step.Actions[0].Description); OnSendMessagePrompt?.Invoke("提示:" + step.Actions[0].Description);
// ShowTrainingStep(step.Actions[0].Description); // 在右上角显示流程步骤
} }
} }
break; break;
case ProcessMode.Practice: case ProcessMode.Practice:
// 练习模式下不需要提前显示下一个步骤的描述 if (stepOrAction is ActionWithDescription practiceAction)
{
if (IsLastAction(practiceAction))
{
ShowPracticeStep(practiceAction.Description); // 只显示当前步骤
}
}
else if (stepOrAction is AnimationStep practiceStep)
{
if (practiceStep.Actions.Count > 0)
{
if (IsLastAction(practiceStep.Actions[0]))
{
ShowPracticeStep(practiceStep.Actions[0].Description); // 只显示当前步骤
}
}
}
break; break;
case ProcessMode.Assessment: case ProcessMode.Assessment:
// 考核模式无提示 // 考核模式无提示
@ -255,38 +253,6 @@ namespace DefaultNamespace.ProcessMode
} }
} }
/// <summary>
/// 处理模式特定的反馈逻辑
/// </summary>
/// <param name="mode">当前的流程模式</param>
/// <param name="action">当前的动作</param>
private void HandleModeSpecificFeedback(ProcessMode mode, ActionWithDescription action)
{
if (action.FeedbackDisplayed)
{
return; // 已经显示过反馈,不再重复显示
}
switch (mode)
{
case ProcessMode.Teaching:
HighlightNextObject(action); // 高亮下一个需要点击的物体
break;
case ProcessMode.Training:
//ShowTrainingStep(action.Description); // 在右上角显示流程步骤
break;
case ProcessMode.Practice:
ShowPracticeStep(action.Description); // 只显示当前步骤
break;
case ProcessMode.Assessment:
// 考核模式无提示
break;
}
action.FeedbackDisplayed = true; // 标记反馈已显示
}
/// <summary> /// <summary>
/// 高亮显示下一个需要点击的物体 /// 高亮显示下一个需要点击的物体
/// </summary> /// </summary>
@ -295,18 +261,57 @@ namespace DefaultNamespace.ProcessMode
{ {
if (action != null) if (action != null)
{ {
bool hasDuplicates = action.TargetObjects.GroupBy(x => x).Any(g => g.Count() > 1);
for (int i = action.CurrentObjectIndex; i < action.TargetObjects.Count; i++) for (int i = action.CurrentObjectIndex; i < action.TargetObjects.Count; i++)
{ {
GameObject nextObject = action.TargetObjects[i]; string nextObject = action.TargetObjects[i];
if (!action.ClickedObjects.Contains(nextObject)) if (hasDuplicates)
{ {
// 添加高亮效果的逻辑 // 处理重复物体的高亮逻辑
GameObject.Find(nextObject.name).GetComponent<HighlightEffect>().highlighted = true; int count = action.TargetObjects.Take(i).Count(o => o == nextObject); // 统计当前物体之前出现的次数
if (!action.ClickedObjects.Contains($"{nextObject}_{count}"))
Debug.Log($"高亮显示:{nextObject.name}"); {
HighlightObject(nextObject);
break; break;
} }
} }
else
{
// 无重复物体的高亮逻辑
if (!action.ClickedObjects.Contains(nextObject))
{
HighlightObject(nextObject);
break;
}
}
}
}
}
/// <summary>
/// 高亮指定的物体
/// </summary>
/// <param name="objectName">物体名称</param>
private void HighlightObject(string objectName)
{
try
{
var obj = GameObject.Find(objectName);
if (obj != null)
{
var highlightEffect = obj.GetComponent<HighlightEffect>();
if (highlightEffect != null)
{
highlightEffect.highlighted = true;
}
Debug.Log($"高亮显示:{objectName}");
}
}
catch (Exception e)
{
Debug.LogError($"Error highlighting object {objectName}: {e.Message}");
} }
} }
@ -321,27 +326,14 @@ namespace DefaultNamespace.ProcessMode
currentActionIndex = 0; currentActionIndex = 0;
} }
private void ShowTrainingStep(object nextStepOrAction)
{
if (nextStepOrAction is AnimationStep step)
{
Debug.Log($"培训模式:{step.StepDescription}");
}
else if (nextStepOrAction is ActionWithDescription action)
{
Debug.Log($"培训模式:{action.Description}");
}
}
private void ShowPracticeStep(object nextStepOrAction) private void ShowPracticeStep(object nextStepOrAction)
{ {
if (nextStepOrAction is AnimationStep step) if (nextStepOrAction is ActionWithDescription practiceAction)
{ {
Debug.Log($"练习模式:{step.StepDescription}"); OnSendMessagePrompt(practiceAction.Description);
} Debug.Log($"练习模式:{practiceAction.Description}");
else if (nextStepOrAction is ActionWithDescription action)
{
Debug.Log($"练习模式:{action.Description}");
} }
} }

View File

@ -5,10 +5,22 @@ namespace DefaultNamespace.ProcessMode
/// </summary> /// </summary>
public enum ProcessMode public enum ProcessMode
{ {
Teaching, // 教学模式 /// <summary>
Training, // 培训模式 /// 教学模式
Practice, // 练习模式 /// </summary>
Assessment // 考核模式 Teaching,
/// <summary>
/// 培训模式
/// </summary>
Training,
/// <summary>
/// 练习模式
/// </summary>
Practice,
/// <summary>
/// 考核模式
/// </summary>
Assessment
} }
} }

View File

@ -10,11 +10,12 @@ using UnityEngine;
namespace DefaultNamespace.ProcessMode namespace DefaultNamespace.ProcessMode
{ {
[ScriptDescription("现场场景的流程启动器")] [ScriptDescription("场景的流程启动器")]
public class SceneProcessLauncher : MonoBehaviour public class SceneProcessLauncher : MonoBehaviour
{ {
private AnimationProcessManager processManager; private AnimationProcessManager processManager;
[SerializeField] private ToolsPackScene _toolsPackScene;
[SerializeField] private ProcessMode _processMode;
private async void Start() private async void Start()
{ {
@ -26,9 +27,22 @@ namespace DefaultNamespace.ProcessMode
processManager.ClearProcess(); processManager.ClearProcess();
processManager.AddProcess(MotionEngine.GetModule<DataConfigManager>().GetProcessMode().ToString()); _processMode = MotionEngine.GetModule<DataConfigManager>().GetProcessMode();
processManager.AddProcess(_processMode.ToString());
string json = "";
if (_toolsPackScene == ToolsPackScene.)
{
json = System.IO.File.ReadAllText(Application.streamingAssetsPath + "/DataConfig/ToolsSceneStepData.json");
}
else
{
json = System.IO.File.ReadAllText(Application.streamingAssetsPath + "/DataConfig/SceneStepData.json");
}
string json = System.IO.File.ReadAllText(Application.streamingAssetsPath + "/DataConfig/SceneStepData.json");
StepsContainer stepsContainer = JsonConvert.DeserializeObject<StepsContainer>(json); StepsContainer stepsContainer = JsonConvert.DeserializeObject<StepsContainer>(json);
foreach (var stepData in stepsContainer.Steps) foreach (var stepData in stepsContainer.Steps)
@ -37,43 +51,34 @@ namespace DefaultNamespace.ProcessMode
foreach (var actionData in stepData.Actions) foreach (var actionData in stepData.Actions)
{ {
List<GameObject> targetObjects = new List<GameObject>(); List<string> targetObjects = new List<string>();
foreach (var objectName in actionData.TargetObjects) foreach (var objectName in actionData.TargetObjects)
{ {
GameObject obj = GameObject.Find(objectName); targetObjects.Add(objectName);
if (obj != null)
{
targetObjects.Add(obj);
}
else
{
Debug.LogError($"Object not found: {objectName}");
}
} }
Action action = () => { }; Action action = () => { };
actions.Add(new ActionWithDescription(targetObjects, action, actionData.Description, actionData.IsSequential,stepData.StepDescription)); actions.Add(new ActionWithDescription(targetObjects, action, actionData.Description, actionData.IsSequential, stepData.StepDescription));
} }
AnimationStep step = new AnimationStep(stepData.StepDescription, stepData.Score, actions); AnimationStep step = new AnimationStep(stepData.StepDescription, stepData.Score, actions);
processManager.AddStepToProcess(MotionEngine.GetModule<DataConfigManager>().GetProcessMode().ToString(), step); processManager.AddStepToProcess(_processMode.ToString(), step);
} }
if (_processMode == ProcessMode.Teaching)
InitializeFirstStep(); InitializeFirstStep();
} }
private void InitializeFirstStep() private void InitializeFirstStep()
{ {
ProcessMode initialMode = ProcessMode.Training; // 假设初始模式是教学模式 MotionEngine.GetModule<AnimationProcessManager>().SetCurrentMode(_processMode);
MotionEngine.GetModule<AnimationProcessManager>().SetCurrentMode(initialMode);
if (MotionEngine.GetModule<AnimationProcessManager>().CurrentProcess.Steps.Count > 0) if (MotionEngine.GetModule<AnimationProcessManager>().CurrentProcess.Steps.Count > 0)
{ {
AnimationStep firstStep = MotionEngine.GetModule<AnimationProcessManager>().CurrentProcess.Steps[0]; AnimationStep firstStep = MotionEngine.GetModule<AnimationProcessManager>().CurrentProcess.Steps[0];
if (firstStep.Actions.Count > 0) if (firstStep.Actions.Count > 0)
{ {
MotionEngine.GetModule<AnimationProcessManager>().PrepareNextStep(initialMode, firstStep.Actions[0]); MotionEngine.GetModule<AnimationProcessManager>().HandleModeFeedback(_processMode, firstStep.Actions[0]);
} }
} }
} }

View File

@ -46,7 +46,7 @@ namespace ToolsPack
if ( MotionEngine.GetModule<ToolsPackManager>().GetToolsPackScene() == ToolsPackScene.) if ( MotionEngine.GetModule<ToolsPackManager>().GetToolsPackScene() == ToolsPackScene.)
{ {
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(this.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(this.gameObject.name);
if (IsClick) if (IsClick)
MotionEngine.GetModule<ToolsPackManager>().AddToolsPack(this.name, this.gameObject); MotionEngine.GetModule<ToolsPackManager>().AddToolsPack(this.name, this.gameObject);
this.gameObject.SetActive(false); this.gameObject.SetActive(false);

View File

@ -1,86 +1,78 @@
using System; // using System;
using System.Collections; // using System.Collections;
using System.Collections.Generic; // using System.Collections.Generic;
using System.Threading.Tasks; // using System.Threading.Tasks;
using DefaultNamespace; // using DefaultNamespace;
using DefaultNamespace.Dto; // using DefaultNamespace.Dto;
using DefaultNamespace.ProcessMode; // using DefaultNamespace.ProcessMode;
using MotionFramework; // using MotionFramework;
using Newtonsoft.Json; // using Newtonsoft.Json;
using UnityEngine; // using UnityEngine;
//
namespace ToolsPack // namespace ToolsPack
{ // {
//
//
[ScriptDescription("工具间场景的流程启动器")] // [ScriptDescription("工具间场景的流程启动器")]
public class ToolsSceneProcessLauncher : MonoBehaviour // public class ToolsSceneProcessLauncher : MonoBehaviour
{ // {
private AnimationProcessManager processManager; // private AnimationProcessManager processManager;
//
//
private async void Start() // private async void Start()
{ // {
await Task.Delay(TimeSpan.FromSeconds(1)); // await Task.Delay(TimeSpan.FromSeconds(1));
//
//
processManager = MotionEngine.GetModule<AnimationProcessManager>(); // processManager = MotionEngine.GetModule<AnimationProcessManager>();
//
//
processManager.ClearProcess(); // processManager.ClearProcess();
//
//
processManager.AddProcess( MotionEngine.GetModule<DataConfigManager>().GetProcessMode().ToString()); // processManager.AddProcess( MotionEngine.GetModule<DataConfigManager>().GetProcessMode().ToString());
//
string json = System.IO.File.ReadAllText(Application.streamingAssetsPath + "/DataConfig/ToolsSceneStepData.json"); // string json =
StepsContainer stepsContainer = JsonConvert.DeserializeObject<StepsContainer>(json); // StepsContainer stepsContainer = JsonConvert.DeserializeObject<StepsContainer>(json);
//
//
foreach (var stepData in stepsContainer.Steps) // foreach (var stepData in stepsContainer.Steps)
{ // {
List<ActionWithDescription> actions = new List<ActionWithDescription>(); // List<ActionWithDescription> actions = new List<ActionWithDescription>();
//
foreach (var actionData in stepData.Actions) // foreach (var actionData in stepData.Actions)
{ // {
List<GameObject> targetObjects = new List<GameObject>(); // List<string> targetObjects = new List<string>();
foreach (var objectName in actionData.TargetObjects) // foreach (var objectName in actionData.TargetObjects)
{ // {
GameObject obj = GameObject.Find(objectName); // targetObjects.Add(objectName);
if (obj != null) // }
{ //
targetObjects.Add(obj); // Action action = () => { };
} // actions.Add(new ActionWithDescription(targetObjects, action, actionData.Description, actionData.IsSequential,stepData.StepDescription));
else // }
{ //
// Debug.LogError($"Object not found: {objectName}"); // AnimationStep step = new AnimationStep(stepData.StepDescription, stepData.Score, actions);
} // processManager.AddStepToProcess(MotionEngine.GetModule<DataConfigManager>().GetProcessMode().ToString(), step);
} // }
//
Action action = () => { }; // InitializeFirstStep();
actions.Add(new ActionWithDescription(targetObjects, action, actionData.Description, actionData.IsSequential,stepData.StepDescription)); //
} // }
//
AnimationStep step = new AnimationStep(stepData.StepDescription, stepData.Score, actions); // private void InitializeFirstStep()
processManager.AddStepToProcess(MotionEngine.GetModule<DataConfigManager>().GetProcessMode().ToString(), step); // {
} // MotionEngine.GetModule<AnimationProcessManager>().SetCurrentMode(MotionEngine.GetModule<DataConfigManager>().GetProcessMode());
//
InitializeFirstStep(); // if (MotionEngine.GetModule<AnimationProcessManager>().CurrentProcess.Steps.Count > 0)
// {
} // AnimationStep firstStep = MotionEngine.GetModule<AnimationProcessManager>().CurrentProcess.Steps[0];
// if (firstStep.Actions.Count > 0)
private void InitializeFirstStep() // {
{ // MotionEngine.GetModule<AnimationProcessManager>().HandleModeFeedback(MotionEngine.GetModule<DataConfigManager>().GetProcessMode(), firstStep.Actions[0]);
MotionEngine.GetModule<AnimationProcessManager>().SetCurrentMode(MotionEngine.GetModule<DataConfigManager>().GetProcessMode()); // }
// }
if (MotionEngine.GetModule<AnimationProcessManager>().CurrentProcess.Steps.Count > 0) // }
{ //
AnimationStep firstStep = MotionEngine.GetModule<AnimationProcessManager>().CurrentProcess.Steps[0]; // }
if (firstStep.Actions.Count > 0) // }
{
MotionEngine.GetModule<AnimationProcessManager>().PrepareNextStep(MotionEngine.GetModule<DataConfigManager>().GetProcessMode(), firstStep.Actions[0]);
}
}
}
}
}

View File

@ -14,7 +14,7 @@ public class test1 : MonoBehaviour
{ {
this.GetComponent<Button>().onClick.AddListener(delegate this.GetComponent<Button>().onClick.AddListener(delegate
{ {
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(this.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(this.gameObject.name);
}); });
} }

View File

@ -58,14 +58,14 @@ public class Seal : MonoBehaviour
if (hit.collider.gameObject.name == "集中器_封印_L碰撞") if (hit.collider.gameObject.name == "集中器_封印_L碰撞")
{ {
Sealcol[0].gameObject.SetActive(true); Sealcol[0].gameObject.SetActive(true);
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
if (hit.collider.gameObject.name == "集中器_封印R碰撞 ") if (hit.collider.gameObject.name == "集中器_封印R碰撞 ")
{ {
Sealcol[1].gameObject.SetActive(true); Sealcol[1].gameObject.SetActive(true);
CabinetDoorLatch.GetComponent<BoxCollider>().enabled = true; CabinetDoorLatch.GetComponent<BoxCollider>().enabled = true;
SparentoverCol.GetComponent<BoxCollider>().enabled = true; SparentoverCol.GetComponent<BoxCollider>().enabled = true;
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
} }
} }

View File

@ -147,20 +147,6 @@
} }
] ]
}, },
{
"stepDescription": "更换集中器",
"score": 0,
"actions": [
{
"description": "更换集中器",
"score": 0,
"isSequential": true,
"targetObjects": [
"pCylinder170"
]
}
]
},
{ {
"stepDescription": "更换集中器", "stepDescription": "更换集中器",
"score": 0, "score": 0,

View File

@ -1 +1 @@
2024-06-14 15:04:12#'sxfz://;lyht,1,18,userId,username,token,90;/'| 2024-06-14 15:04:12#'sxfz://;lyht,2,18,userId,username,token,90;/'|

View File

@ -69,7 +69,7 @@ public class concentrator : MonoBehaviour
if (hit.collider.gameObject.name == "新的集中器碰撞") if (hit.collider.gameObject.name == "新的集中器碰撞")
{ {
StartCoroutine(Newconcentrator()); StartCoroutine(Newconcentrator());
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
for (int i = 0; i < ScrewObj.Length; i++) for (int i = 0; i < ScrewObj.Length; i++)
{ {
@ -84,7 +84,7 @@ public class concentrator : MonoBehaviour
{ {
if (isplaying) if (isplaying)
{ {
StartCoroutine(IEElectricWire()); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); StartCoroutine(IEElectricWire()); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
isplaying = false; isplaying = false;
} }
} }

View File

@ -54,7 +54,7 @@ using UnityEngine;
{ {
if (hit.collider.gameObject.name == "pCylinder170") if (hit.collider.gameObject.name == "pCylinder170")
{ {
StartCoroutine(Tape()); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); StartCoroutine(Tape()); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
} }
} }

View File

@ -112,31 +112,31 @@ public class Pliers : MonoBehaviour
PliersObj.gameObject.transform.SetParent(null); PliersObj.gameObject.transform.SetParent(null);
StartCoroutine(PliersIE()); StartCoroutine(PliersIE());
Debug.Log(hit.collider.gameObject.name); Debug.Log(hit.collider.gameObject.name);
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
if (hit.collider.gameObject.name == "接线盒_封印R") if (hit.collider.gameObject.name == "接线盒_封印R")
{ {
StartCoroutine(JunctionBoxRight()); StartCoroutine(JunctionBoxRight());
Debug.Log(hit.collider.gameObject.name); Debug.Log(hit.collider.gameObject.name);
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
if (hit.collider.gameObject.name == "接线盒_封印L") if (hit.collider.gameObject.name == "接线盒_封印L")
{ {
StartCoroutine(JunctionBoxLeft()); StartCoroutine(JunctionBoxLeft());
Debug.Log(hit.collider.gameObject.name); Debug.Log(hit.collider.gameObject.name);
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
if (hit.collider.gameObject.name == "集中器_封印R") if (hit.collider.gameObject.name == "集中器_封印R")
{ {
StartCoroutine(RightRconcentrator()); StartCoroutine(RightRconcentrator());
Debug.Log(hit.collider.gameObject.name); Debug.Log(hit.collider.gameObject.name);
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
if (hit.collider.gameObject.name == "集中器_封印_L") if (hit.collider.gameObject.name == "集中器_封印_L")
{ {
StartCoroutine(LeftRconcentrator()); StartCoroutine(LeftRconcentrator());
Debug.Log(hit.collider.gameObject.name); Debug.Log(hit.collider.gameObject.name);
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
} }
} }

View File

@ -59,7 +59,7 @@ public class ElectricCheckPen : MonoBehaviour
ElectricCheckPenOBJ.gameObject.transform.SetParent(null); ElectricCheckPenOBJ.gameObject.transform.SetParent(null);
ElectricCheckPenOBJ.gameObject.transform.DOLocalMove(new Vector3(303.038f, 2.655f, 163.822f), 2f); ElectricCheckPenOBJ.gameObject.transform.DOLocalMove(new Vector3(303.038f, 2.655f, 163.822f), 2f);
Debug.Log(hit.collider.gameObject.name); Debug.Log(hit.collider.gameObject.name);
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
if (hit.collider.gameObject.name == "²å×ù") if (hit.collider.gameObject.name == "²å×ù")
{ {
@ -67,7 +67,7 @@ public class ElectricCheckPen : MonoBehaviour
StartCoroutine(socket()); StartCoroutine(socket());
//Warninglight(); //Warninglight();
Debug.Log(hit.collider.gameObject.name); Debug.Log(hit.collider.gameObject.name);
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
} }
} }

View File

@ -100,7 +100,7 @@ public class Fieldobservation : MonoBehaviour
BOXseal[1].enabled = true; BOXseal[1].enabled = true;
//isbox = false; //isbox = false;
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
@ -111,7 +111,7 @@ public class Fieldobservation : MonoBehaviour
parentoverSeal[0].gameObject.SetActive(true); parentoverSeal[0].gameObject.SetActive(true);
isbox = false; isbox = false;
} }
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
if (hit.collider.gameObject.name == ¸Ã÷¸Ç×Ó·âÓ¡ÅöײL") if (hit.collider.gameObject.name == ¸Ã÷¸Ç×Ó·âÓ¡ÅöײL")
{ {
@ -121,7 +121,7 @@ public class Fieldobservation : MonoBehaviour
guimenkashuan.enabled = true; guimenkashuan.enabled = true;
isbox = false; isbox = false;
} }
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
if (hit.collider.gameObject.name == "¹ñÃÅ¿¨Ë¨") if (hit.collider.gameObject.name == "¹ñÃÅ¿¨Ë¨")
{ {
@ -131,13 +131,13 @@ public class Fieldobservation : MonoBehaviour
guimenbox.GetComponent<BoxCollider>().enabled = true; guimenbox.GetComponent<BoxCollider>().enabled = true;
isbox = false; isbox = false;
// } // }
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
if (hit.collider.gameObject.name == "µç¹ñÃÅ·âÓ¡boxÅöײ") if (hit.collider.gameObject.name == "µç¹ñÃÅ·âÓ¡boxÅöײ")
{ {
fengy.gameObject.SetActive(true); fengy.gameObject.SetActive(true);
fengy.transform.localPosition = new Vector3(0.6371536f, 0.02661133f, -0.01525164f); fengy.transform.localPosition = new Vector3(0.6371536f, 0.02661133f, -0.01525164f);
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
} }
} }
} }

View File

@ -47,7 +47,7 @@ public class WorkPermit : MonoBehaviour
Dialogbox.gameObject.SetActive(false); Dialogbox.gameObject.SetActive(false);
DialogboxText.text = null; DialogboxText.text = null;
Destroy(WorkPermitObj); Destroy(WorkPermitObj);
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(GameObject.Find("Man_stand")); MotionEngine.GetModule<AnimationProcessManager>().HandleClick("Man_stand");
}); });

View File

@ -1,90 +1,63 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 15 # Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NaughtyAttributes.Core", "NaughtyAttributes.Core.csproj", "{70C866B3-6982-AEAE-4186-8220020279AA}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NaughtyAttributes.Core", "NaughtyAttributes.Core.csproj", "{b366c870-8269-aeae-4186-8220020279aa}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.Linq", "UniTask.Linq.csproj", "{328AEAE8-36DB-0919-A8A7-26F06060F4D3}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.Linq", "UniTask.Linq.csproj", "{e8ea8a32-db36-1909-a8a7-26f06060f4d3}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-firstpass", "Assembly-CSharp-firstpass.csproj", "{D8880EA9-DBBA-9941-850A-29EEEE6B3832}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-firstpass", "Assembly-CSharp-firstpass.csproj", "{a90e88d8-badb-4199-850a-29eeee6b3832}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask", "UniTask.csproj", "{431CD62F-2442-CB9F-8A4A-9397608E2318}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask", "UniTask.csproj", "{2fd61c43-4224-9fcb-8a4a-9397608e2318}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{99E7EFED-28DC-D24D-3165-1ACB9E1A5D82}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{edefe799-dc28-4dd2-3165-1acb9e1a5d82}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NaughtyAttributes.Test", "NaughtyAttributes.Test.csproj", "{804E5D77-8A7B-13C1-E64A-F0327B5A51D2}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NaughtyAttributes.Test", "NaughtyAttributes.Test.csproj", "{775d4e80-7b8a-c113-e64a-f0327b5a51d2}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NaughtyAttributes.Editor", "NaughtyAttributes.Editor.csproj", "{89912F7C-9D47-5C67-B95E-C95F88C2A560}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NaughtyAttributes.Editor", "NaughtyAttributes.Editor.csproj", "{7c2f9189-479d-675c-b95e-c95f88c2a560}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MotionFramework", "MotionFramework.csproj", "{8526E427-FBAD-A00A-06E3-F5025D183005}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MotionFramework", "MotionFramework.csproj", "{27e42685-adfb-0aa0-06e3-f5025d183005}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.Addressables", "UniTask.Addressables.csproj", "{3EBE0A4D-FF2E-4151-CB61-B756EB38B78B}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.Addressables", "UniTask.Addressables.csproj", "{4d0abe3e-2eff-5141-cb61-b756eb38b78b}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-Editor", "Assembly-CSharp-Editor.csproj", "{CA93E3BA-F2B3-5C03-979C-FF7E0D806194}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-Editor", "Assembly-CSharp-Editor.csproj", "{bae393ca-b3f2-035c-979c-ff7e0d806194}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.TextMeshPro", "UniTask.TextMeshPro.csproj", "{2D23DF76-3788-F610-4EB2-65D4B80D2C66}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.TextMeshPro", "UniTask.TextMeshPro.csproj", "{76df232d-8837-10f6-4eb2-65d4b80d2c66}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.DOTween", "UniTask.DOTween.csproj", "{5569EEC5-5613-62FE-795C-07A46B224741}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.DOTween", "UniTask.DOTween.csproj", "{c5ee6955-1356-fe62-795c-07a46b224741}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.Editor", "UniTask.Editor.csproj", "{53349ADB-6DD3-9261-985B-3E8CC856B5BD}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.Editor", "UniTask.Editor.csproj", "{db9a3453-d36d-6192-985b-3e8cc856b5bd}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{70C866B3-6982-AEAE-4186-8220020279AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {b366c870-8269-aeae-4186-8220020279aa}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{70C866B3-6982-AEAE-4186-8220020279AA}.Debug|Any CPU.Build.0 = Debug|Any CPU {b366c870-8269-aeae-4186-8220020279aa}.Debug|Any CPU.Build.0 = Debug|Any CPU
{70C866B3-6982-AEAE-4186-8220020279AA}.Release|Any CPU.ActiveCfg = Release|Any CPU {e8ea8a32-db36-1909-a8a7-26f06060f4d3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{70C866B3-6982-AEAE-4186-8220020279AA}.Release|Any CPU.Build.0 = Release|Any CPU {e8ea8a32-db36-1909-a8a7-26f06060f4d3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{328AEAE8-36DB-0919-A8A7-26F06060F4D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {a90e88d8-badb-4199-850a-29eeee6b3832}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{328AEAE8-36DB-0919-A8A7-26F06060F4D3}.Debug|Any CPU.Build.0 = Debug|Any CPU {a90e88d8-badb-4199-850a-29eeee6b3832}.Debug|Any CPU.Build.0 = Debug|Any CPU
{328AEAE8-36DB-0919-A8A7-26F06060F4D3}.Release|Any CPU.ActiveCfg = Release|Any CPU {2fd61c43-4224-9fcb-8a4a-9397608e2318}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{328AEAE8-36DB-0919-A8A7-26F06060F4D3}.Release|Any CPU.Build.0 = Release|Any CPU {2fd61c43-4224-9fcb-8a4a-9397608e2318}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D8880EA9-DBBA-9941-850A-29EEEE6B3832}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {edefe799-dc28-4dd2-3165-1acb9e1a5d82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D8880EA9-DBBA-9941-850A-29EEEE6B3832}.Debug|Any CPU.Build.0 = Debug|Any CPU {edefe799-dc28-4dd2-3165-1acb9e1a5d82}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D8880EA9-DBBA-9941-850A-29EEEE6B3832}.Release|Any CPU.ActiveCfg = Release|Any CPU {775d4e80-7b8a-c113-e64a-f0327b5a51d2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D8880EA9-DBBA-9941-850A-29EEEE6B3832}.Release|Any CPU.Build.0 = Release|Any CPU {775d4e80-7b8a-c113-e64a-f0327b5a51d2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{431CD62F-2442-CB9F-8A4A-9397608E2318}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7c2f9189-479d-675c-b95e-c95f88c2a560}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{431CD62F-2442-CB9F-8A4A-9397608E2318}.Debug|Any CPU.Build.0 = Debug|Any CPU {7c2f9189-479d-675c-b95e-c95f88c2a560}.Debug|Any CPU.Build.0 = Debug|Any CPU
{431CD62F-2442-CB9F-8A4A-9397608E2318}.Release|Any CPU.ActiveCfg = Release|Any CPU {27e42685-adfb-0aa0-06e3-f5025d183005}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{431CD62F-2442-CB9F-8A4A-9397608E2318}.Release|Any CPU.Build.0 = Release|Any CPU {27e42685-adfb-0aa0-06e3-f5025d183005}.Debug|Any CPU.Build.0 = Debug|Any CPU
{99E7EFED-28DC-D24D-3165-1ACB9E1A5D82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4d0abe3e-2eff-5141-cb61-b756eb38b78b}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{99E7EFED-28DC-D24D-3165-1ACB9E1A5D82}.Debug|Any CPU.Build.0 = Debug|Any CPU {4d0abe3e-2eff-5141-cb61-b756eb38b78b}.Debug|Any CPU.Build.0 = Debug|Any CPU
{99E7EFED-28DC-D24D-3165-1ACB9E1A5D82}.Release|Any CPU.ActiveCfg = Release|Any CPU {bae393ca-b3f2-035c-979c-ff7e0d806194}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{99E7EFED-28DC-D24D-3165-1ACB9E1A5D82}.Release|Any CPU.Build.0 = Release|Any CPU {bae393ca-b3f2-035c-979c-ff7e0d806194}.Debug|Any CPU.Build.0 = Debug|Any CPU
{804E5D77-8A7B-13C1-E64A-F0327B5A51D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {76df232d-8837-10f6-4eb2-65d4b80d2c66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{804E5D77-8A7B-13C1-E64A-F0327B5A51D2}.Debug|Any CPU.Build.0 = Debug|Any CPU {76df232d-8837-10f6-4eb2-65d4b80d2c66}.Debug|Any CPU.Build.0 = Debug|Any CPU
{804E5D77-8A7B-13C1-E64A-F0327B5A51D2}.Release|Any CPU.ActiveCfg = Release|Any CPU {c5ee6955-1356-fe62-795c-07a46b224741}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{804E5D77-8A7B-13C1-E64A-F0327B5A51D2}.Release|Any CPU.Build.0 = Release|Any CPU {c5ee6955-1356-fe62-795c-07a46b224741}.Debug|Any CPU.Build.0 = Debug|Any CPU
{89912F7C-9D47-5C67-B95E-C95F88C2A560}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {db9a3453-d36d-6192-985b-3e8cc856b5bd}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{89912F7C-9D47-5C67-B95E-C95F88C2A560}.Debug|Any CPU.Build.0 = Debug|Any CPU {db9a3453-d36d-6192-985b-3e8cc856b5bd}.Debug|Any CPU.Build.0 = Debug|Any CPU
{89912F7C-9D47-5C67-B95E-C95F88C2A560}.Release|Any CPU.ActiveCfg = Release|Any CPU
{89912F7C-9D47-5C67-B95E-C95F88C2A560}.Release|Any CPU.Build.0 = Release|Any CPU
{8526E427-FBAD-A00A-06E3-F5025D183005}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8526E427-FBAD-A00A-06E3-F5025D183005}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8526E427-FBAD-A00A-06E3-F5025D183005}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8526E427-FBAD-A00A-06E3-F5025D183005}.Release|Any CPU.Build.0 = Release|Any CPU
{3EBE0A4D-FF2E-4151-CB61-B756EB38B78B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3EBE0A4D-FF2E-4151-CB61-B756EB38B78B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3EBE0A4D-FF2E-4151-CB61-B756EB38B78B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3EBE0A4D-FF2E-4151-CB61-B756EB38B78B}.Release|Any CPU.Build.0 = Release|Any CPU
{CA93E3BA-F2B3-5C03-979C-FF7E0D806194}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CA93E3BA-F2B3-5C03-979C-FF7E0D806194}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CA93E3BA-F2B3-5C03-979C-FF7E0D806194}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CA93E3BA-F2B3-5C03-979C-FF7E0D806194}.Release|Any CPU.Build.0 = Release|Any CPU
{2D23DF76-3788-F610-4EB2-65D4B80D2C66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2D23DF76-3788-F610-4EB2-65D4B80D2C66}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2D23DF76-3788-F610-4EB2-65D4B80D2C66}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2D23DF76-3788-F610-4EB2-65D4B80D2C66}.Release|Any CPU.Build.0 = Release|Any CPU
{5569EEC5-5613-62FE-795C-07A46B224741}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5569EEC5-5613-62FE-795C-07A46B224741}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5569EEC5-5613-62FE-795C-07A46B224741}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5569EEC5-5613-62FE-795C-07A46B224741}.Release|Any CPU.Build.0 = Release|Any CPU
{53349ADB-6DD3-9261-985B-3E8CC856B5BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{53349ADB-6DD3-9261-985B-3E8CC856B5BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{53349ADB-6DD3-9261-985B-3E8CC856B5BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{53349ADB-6DD3-9261-985B-3E8CC856B5BD}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE