This commit is contained in:
parent
23c9956b7d
commit
9ed39a9382
|
|
@ -68,9 +68,8 @@ public class JunctionBox : MonoBehaviour
|
|||
originalPosition.Add(GameObjectSlider[i].transform.localPosition);
|
||||
//originalRotation = GameObjectSlider[i].transform.localRotation;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 是否高亮
|
||||
/// </summary>
|
||||
|
|
@ -97,7 +96,7 @@ public class JunctionBox : MonoBehaviour
|
|||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (Input.GetMouseButtonDown(0))
|
||||
|
|
|
|||
|
|
@ -259,6 +259,10 @@ PrefabInstance:
|
|||
propertyPath: m_Name
|
||||
value: APP
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6053353591068959239, guid: fa12b84946083d14cb4447029910be28, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6205274277508386708, guid: fa12b84946083d14cb4447029910be28, type: 3}
|
||||
propertyPath: m_Interactable
|
||||
value: 1
|
||||
|
|
|
|||
|
|
@ -8998,7 +8998,7 @@ PrefabInstance:
|
|||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8322912254063910965, guid: 8a244cdd2f00e534aadd2512c3bbfda1, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: -15.841
|
||||
value: -15.151
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8322912254063910965, guid: 8a244cdd2f00e534aadd2512c3bbfda1, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
|
|
@ -18567,7 +18567,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &839913787
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -23400,7 +23400,7 @@ Light:
|
|||
serializedVersion: 10
|
||||
m_Type: 1
|
||||
m_Shape: 0
|
||||
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Intensity: 1
|
||||
m_Range: 10
|
||||
m_SpotAngle: 30
|
||||
|
|
|
|||
|
|
@ -25132,74 +25132,6 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1807550687}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &1810945299
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1810945302}
|
||||
- component: {fileID: 1810945301}
|
||||
- component: {fileID: 1810945300}
|
||||
m_Layer: 0
|
||||
m_Name: EventSystem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1810945300
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1810945299}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_SendPointerHoverToParent: 1
|
||||
m_HorizontalAxis: Horizontal
|
||||
m_VerticalAxis: Vertical
|
||||
m_SubmitButton: Submit
|
||||
m_CancelButton: Cancel
|
||||
m_InputActionsPerSecond: 10
|
||||
m_RepeatDelay: 0.5
|
||||
m_ForceModuleActive: 0
|
||||
--- !u!114 &1810945301
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1810945299}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_FirstSelected: {fileID: 0}
|
||||
m_sendNavigationEvents: 1
|
||||
m_DragThreshold: 10
|
||||
--- !u!4 &1810945302
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1810945299}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1812223123
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -29607,7 +29539,6 @@ SceneRoots:
|
|||
- {fileID: 843085103}
|
||||
- {fileID: 27506717}
|
||||
- {fileID: 1703800128}
|
||||
- {fileID: 1810945302}
|
||||
- {fileID: 505215069}
|
||||
- {fileID: 450266584}
|
||||
- {fileID: 25011097}
|
||||
|
|
|
|||
|
|
@ -16,15 +16,15 @@ namespace DefaultNamespace.ProcessMode
|
|||
[ScriptDescription("流程模式管理器")]
|
||||
public class AnimationProcessManager : ModuleSingleton<AnimationProcessManager>, IModule
|
||||
{
|
||||
private Dictionary<string, AnimationProcess> processes = new Dictionary<string, AnimationProcess>();
|
||||
public ProcessMode currentMode; // 当前模式
|
||||
private int currentStepIndex; // 当前步骤索引
|
||||
private int currentActionIndex; // 当前动作索引,确保动作顺序
|
||||
private int currentActionGameIndex; // 当前动作索引,确保动作顺序
|
||||
private Dictionary<int, List<string>> incorrectClicksPerStep; // 每个步骤的错误点击记录
|
||||
private Dictionary<string, AnimationProcess> _processes = new Dictionary<string, AnimationProcess>();
|
||||
private ProcessMode _currentMode; // 当前模式
|
||||
private int _currentStepIndex; // 当前步骤索引
|
||||
private int _currentActionIndex; // 当前动作索引,确保动作顺序
|
||||
private int _currentActionGameIndex; // 当前动作索引,确保动作顺序
|
||||
private Dictionary<int, List<string>> _incorrectClicksPerStep; // 每个步骤的错误点击记录
|
||||
private SceneStepData _sceneStepData;
|
||||
|
||||
public AnimationProcess CurrentProcess => processes[currentMode.ToString()];
|
||||
public AnimationProcess CurrentProcess => _processes[_currentMode.ToString()];
|
||||
|
||||
public delegate void CompleteEventHandler();
|
||||
|
||||
|
|
@ -52,15 +52,15 @@ namespace DefaultNamespace.ProcessMode
|
|||
// Enum.TryParse(type, true, out currentMode);
|
||||
// }
|
||||
|
||||
processes[type] = new AnimationProcess(type);
|
||||
Enum.TryParse(type, true, out currentMode);
|
||||
_processes[type] = new AnimationProcess(type);
|
||||
Enum.TryParse(type, true, out _currentMode);
|
||||
}
|
||||
|
||||
public void AddStepToProcess(string type, AnimationStep step)
|
||||
{
|
||||
if (processes.ContainsKey(type))
|
||||
if (_processes.ContainsKey(type))
|
||||
{
|
||||
processes[type].AddStep(step);
|
||||
_processes[type].AddStep(step);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -71,27 +71,27 @@ namespace DefaultNamespace.ProcessMode
|
|||
/// <param name="clickedObject">错误点击的物体</param>
|
||||
private void AddIncorrectClick(int stepIndex, string clickedObject)
|
||||
{
|
||||
if (!incorrectClicksPerStep.ContainsKey(stepIndex))
|
||||
if (!_incorrectClicksPerStep.ContainsKey(stepIndex))
|
||||
{
|
||||
incorrectClicksPerStep[stepIndex] = new List<string>();
|
||||
_incorrectClicksPerStep[stepIndex] = new List<string>();
|
||||
}
|
||||
|
||||
incorrectClicksPerStep[stepIndex].Add(clickedObject);
|
||||
_incorrectClicksPerStep[stepIndex].Add(clickedObject);
|
||||
Debug.Log($"步骤 {stepIndex + 1} 错误点击的物体: {clickedObject}");
|
||||
}
|
||||
|
||||
public void HandleClick(string clickedObject)
|
||||
{
|
||||
string type = currentMode.ToString();
|
||||
string type = _currentMode.ToString();
|
||||
|
||||
if (processes.ContainsKey(type))
|
||||
if (_processes.ContainsKey(type))
|
||||
{
|
||||
AnimationProcess process = processes[type];
|
||||
AnimationProcess process = _processes[type];
|
||||
|
||||
if (currentStepIndex < process.Steps.Count)
|
||||
if (_currentStepIndex < process.Steps.Count)
|
||||
{
|
||||
AnimationStep step = process.Steps[currentStepIndex];
|
||||
ActionWithDescription currentAction = step.Actions[currentActionIndex];
|
||||
AnimationStep step = process.Steps[_currentStepIndex];
|
||||
ActionWithDescription currentAction = step.Actions[_currentActionIndex];
|
||||
|
||||
if (currentAction.IsSequential)
|
||||
{
|
||||
|
|
@ -101,7 +101,7 @@ namespace DefaultNamespace.ProcessMode
|
|||
{
|
||||
Debug.Log($"正确点击了:{clickedObject}");
|
||||
|
||||
HandleModeFeedback(currentMode, currentAction); // 处理模式特定的反馈
|
||||
HandleModeFeedback(_currentMode, currentAction); // 处理模式特定的反馈
|
||||
currentAction.CurrentObjectIndex++; // 正确点击,递增对象索引
|
||||
currentAction.ClickedObjects.Add(clickedObject); // 添加到已点击对象集合
|
||||
if (currentAction.CurrentObjectIndex >= currentAction.TargetObjects.Count)
|
||||
|
|
@ -113,7 +113,7 @@ namespace DefaultNamespace.ProcessMode
|
|||
{
|
||||
string correctObjectName = currentAction.TargetObjects[currentAction.CurrentObjectIndex];
|
||||
Debug.Log($"错误点击或顺序错误:{clickedObject}。正确的物体是:{correctObjectName}");
|
||||
AddIncorrectClick(currentStepIndex, clickedObject);
|
||||
AddIncorrectClick(_currentStepIndex, clickedObject);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -131,7 +131,7 @@ namespace DefaultNamespace.ProcessMode
|
|||
{
|
||||
Debug.Log($"正确点击了:{clickedObject}");
|
||||
currentAction.ClickedObjects.Add(clickedObject); // 添加到已点击对象集合
|
||||
HandleModeFeedback(currentMode, currentAction); // 处理模式特定的反馈
|
||||
HandleModeFeedback(_currentMode, currentAction); // 处理模式特定的反馈
|
||||
|
||||
if (currentAction.ClickedObjects.Count >= currentAction.TargetObjects.Count)
|
||||
{
|
||||
|
|
@ -153,7 +153,7 @@ namespace DefaultNamespace.ProcessMode
|
|||
|
||||
string correctObjects = string.Join(",", correctObjectNames);
|
||||
Debug.Log($"正确的物体是:{correctObjects}");
|
||||
AddIncorrectClick(currentStepIndex, clickedObject);
|
||||
AddIncorrectClick(_currentStepIndex, clickedObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -167,21 +167,21 @@ namespace DefaultNamespace.ProcessMode
|
|||
/// <param name="currentAction">当前动作</param>
|
||||
private void CompleteAction(AnimationStep step, ActionWithDescription currentAction)
|
||||
{
|
||||
Debug.Log($"完成了动作 {currentActionIndex + 1}");
|
||||
step.PlayAnimation(currentActionIndex); // 播放当前动作的动画
|
||||
Debug.Log($"完成了动作 {_currentActionIndex + 1}");
|
||||
step.PlayAnimation(_currentActionIndex); // 播放当前动作的动画
|
||||
|
||||
currentActionIndex++;
|
||||
_currentActionIndex++;
|
||||
currentAction.CurrentObjectIndex = 0; // 重置当前动作对象索引
|
||||
currentAction.ClickedObjects.Clear(); // 重置已点击对象集合
|
||||
currentAction.FeedbackDisplayed = false; // 重置反馈显示标志
|
||||
|
||||
if (currentActionIndex >= step.Actions.Count)
|
||||
if (_currentActionIndex >= step.Actions.Count)
|
||||
{
|
||||
Debug.Log("所有动作完成!");
|
||||
|
||||
if (currentMode == ProcessMode.Practice)
|
||||
if (_currentMode == ProcessMode.Practice)
|
||||
{
|
||||
if (currentStepIndex < processes[currentMode.ToString()].Steps.Count)
|
||||
if (_currentStepIndex < _processes[_currentMode.ToString()].Steps.Count)
|
||||
{
|
||||
// if (currentMode == ProcessMode.Practice)
|
||||
// {
|
||||
|
|
@ -189,13 +189,13 @@ namespace DefaultNamespace.ProcessMode
|
|||
// HandleModeFeedback(currentMode, nextStep.Actions[0]); // 准备下一个步骤
|
||||
// }
|
||||
|
||||
var nextStep = processes[currentMode.ToString()].Steps[currentStepIndex];
|
||||
HandleModeFeedback(currentMode, nextStep.Actions[0]); // 准备下一个步骤
|
||||
var nextStep = _processes[_currentMode.ToString()].Steps[_currentStepIndex];
|
||||
HandleModeFeedback(_currentMode, nextStep.Actions[0]); // 准备下一个步骤
|
||||
|
||||
currentActionIndex = 0; // 重置动作索引或进入下一个大步骤
|
||||
currentStepIndex++;
|
||||
_currentActionIndex = 0; // 重置动作索引或进入下一个大步骤
|
||||
_currentStepIndex++;
|
||||
|
||||
if (currentStepIndex == processes[currentMode.ToString()].Steps.Count)
|
||||
if (_currentStepIndex == _processes[_currentMode.ToString()].Steps.Count)
|
||||
{
|
||||
CalculateTotalScore();
|
||||
Debug.Log("全部完成了!!!!");
|
||||
|
|
@ -214,9 +214,9 @@ namespace DefaultNamespace.ProcessMode
|
|||
}
|
||||
else
|
||||
{
|
||||
currentActionIndex = 0; // 重置动作索引或进入下一个大步骤
|
||||
currentStepIndex++;
|
||||
if (currentStepIndex < processes[currentMode.ToString()].Steps.Count)
|
||||
_currentActionIndex = 0; // 重置动作索引或进入下一个大步骤
|
||||
_currentStepIndex++;
|
||||
if (_currentStepIndex < _processes[_currentMode.ToString()].Steps.Count)
|
||||
{
|
||||
// if (currentMode == ProcessMode.Practice)
|
||||
// {
|
||||
|
|
@ -224,8 +224,8 @@ namespace DefaultNamespace.ProcessMode
|
|||
// HandleModeFeedback(currentMode, nextStep.Actions[0]); // 准备下一个步骤
|
||||
// }
|
||||
|
||||
var nextStep = processes[currentMode.ToString()].Steps[currentStepIndex];
|
||||
HandleModeFeedback(currentMode, nextStep.Actions[0]); // 准备下一个步骤
|
||||
var nextStep = _processes[_currentMode.ToString()].Steps[_currentStepIndex];
|
||||
HandleModeFeedback(_currentMode, nextStep.Actions[0]); // 准备下一个步骤
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -242,7 +242,7 @@ namespace DefaultNamespace.ProcessMode
|
|||
else
|
||||
{
|
||||
Debug.Log("开始下一个动作!");
|
||||
HandleModeFeedback(currentMode, step.Actions[currentActionIndex]); // 传递下一个动作对象
|
||||
HandleModeFeedback(_currentMode, step.Actions[_currentActionIndex]); // 传递下一个动作对象
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -382,9 +382,9 @@ namespace DefaultNamespace.ProcessMode
|
|||
/// <param name="mode">模式</param>
|
||||
public void SetCurrentMode(ProcessMode mode)
|
||||
{
|
||||
currentMode = mode;
|
||||
currentStepIndex = 0;
|
||||
currentActionIndex = 0;
|
||||
_currentMode = mode;
|
||||
_currentStepIndex = 0;
|
||||
_currentActionIndex = 0;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -392,7 +392,7 @@ namespace DefaultNamespace.ProcessMode
|
|||
{
|
||||
if (nextStepOrAction is ActionWithDescription practiceAction)
|
||||
{
|
||||
OnSendMessagePrompt(practiceAction.Description);
|
||||
if (OnSendMessagePrompt != null) OnSendMessagePrompt(practiceAction.Description);
|
||||
Debug.Log($"练习模式:{practiceAction.Description}");
|
||||
}
|
||||
}
|
||||
|
|
@ -403,12 +403,12 @@ namespace DefaultNamespace.ProcessMode
|
|||
private void CalculateTotalScore()
|
||||
{
|
||||
float totalScore = 0;
|
||||
foreach (var step in processes[currentMode.ToString()].Steps)
|
||||
foreach (var step in _processes[_currentMode.ToString()].Steps)
|
||||
{
|
||||
int stepIndex = processes[currentMode.ToString()].Steps.IndexOf(step);
|
||||
if (incorrectClicksPerStep.ContainsKey(stepIndex))
|
||||
int stepIndex = _processes[_currentMode.ToString()].Steps.IndexOf(step);
|
||||
if (_incorrectClicksPerStep.TryGetValue(stepIndex, out var value))
|
||||
{
|
||||
Debug.Log($"步骤 {stepIndex + 1} 错误点击的物体: {string.Join(", ", incorrectClicksPerStep[stepIndex])}");
|
||||
Debug.Log($"步骤 {stepIndex + 1} 错误点击的物体: {string.Join(", ", value)}");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -421,8 +421,8 @@ namespace DefaultNamespace.ProcessMode
|
|||
|
||||
public void OnCreate(object createParam)
|
||||
{
|
||||
processes = new Dictionary<string, AnimationProcess>();
|
||||
incorrectClicksPerStep = new Dictionary<int, List<string>>();
|
||||
_processes = new Dictionary<string, AnimationProcess>();
|
||||
_incorrectClicksPerStep = new Dictionary<int, List<string>>();
|
||||
}
|
||||
|
||||
public void OnUpdate()
|
||||
|
|
@ -527,9 +527,9 @@ namespace DefaultNamespace.ProcessMode
|
|||
/// </summary>
|
||||
public void InitializeFirstStep()
|
||||
{
|
||||
currentMode = MotionEngine.GetModule<DataConfigManager>().GetProcessMode();
|
||||
_currentMode = MotionEngine.GetModule<DataConfigManager>().GetProcessMode();
|
||||
|
||||
AddProcess(currentMode.ToString());
|
||||
AddProcess(_currentMode.ToString());
|
||||
|
||||
string json = System.IO.File.ReadAllText(Application.streamingAssetsPath + "/DataConfig/SceneStepData.json");
|
||||
|
||||
|
|
@ -557,21 +557,21 @@ namespace DefaultNamespace.ProcessMode
|
|||
// AnimationStep step = new AnimationStep(stepData.StepDescription, _sceneStepData.taskList[0].stepList[index].defaultScore, actions);
|
||||
AnimationStep step = new AnimationStep(stepData.StepDescription,stepData.Score , actions);
|
||||
index++;
|
||||
AddStepToProcess(currentMode.ToString(), step);
|
||||
AddStepToProcess(_currentMode.ToString(), step);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//教学模式和培训模式需要初始化一下
|
||||
if (currentMode == ProcessMode.Teaching || currentMode == ProcessMode.Training)
|
||||
if (_currentMode == ProcessMode.Teaching || _currentMode == ProcessMode.Training)
|
||||
{
|
||||
if (CurrentProcess.Steps.Count > 0)
|
||||
{
|
||||
AnimationStep firstStep = CurrentProcess.Steps[0];
|
||||
if (firstStep.Actions.Count > 0)
|
||||
{
|
||||
HandleModeFeedback(currentMode, firstStep.Actions[0]);
|
||||
HandleModeFeedback(_currentMode, firstStep.Actions[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -580,7 +580,7 @@ namespace DefaultNamespace.ProcessMode
|
|||
|
||||
public ProcessMode GetProcessMode()
|
||||
{
|
||||
return currentMode;
|
||||
return _currentMode;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -38,9 +38,6 @@
|
|||
},
|
||||
{
|
||||
"content": "啊啥的啊啥的啊啥的"
|
||||
},
|
||||
{
|
||||
"content": "12312312"
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Reference in New Issue