- LocalizationManager: 新增翻译表(SetFormatted/SetDuration/LocalizeOperateMsg) - LoginPanel: InputField placeholder本地化、字体颜色保持 - HistoryPanel: 用时数据本地化、placeholder本地化 - RecordDetailPanel: 操作详情消息本地化(LanguageChanged重建) - AppraiseWindowBase: 评价等级本地化、操作消息重建 - EditorAppraiser: 所有评估消息改用InjectOperateMsgLocalized - StudentOperateRecorder: 新增InjectOperateMsgLocalized方法 - LocalizationLanguageTestBar: 单例模式、ScreenSpaceOverlay筛选 - 字体切换时保留颜色和verticalOverflow
48 lines
1.6 KiB
C#
48 lines
1.6 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
|
|
//简单的只可抓取交互的物体 如三角木
|
|
public class SimpleGrabGO : VRGrabInterractableBase
|
|
{
|
|
//逆流程
|
|
[Tooltip("具体细节与主流程相反 拆=装,装=拆")]
|
|
public bool reverseOperation;
|
|
public override void Active(ProcessEnum stepName, UnityAction finishedEven)
|
|
{
|
|
thisCollider.enabled = true;
|
|
SetGrabInteractable(true);
|
|
if (!reverseOperation)
|
|
{
|
|
if (stepName == ProcessEnum.teardown)//拆卸流程 放置到自由位置 视为操作完成
|
|
{
|
|
atFreePos = finishedEven;
|
|
}
|
|
else if (stepName == ProcessEnum.assemble)//安装流程 放置到固定位置视为操作完成
|
|
{
|
|
atFixedPos = finishedEven;
|
|
}
|
|
}
|
|
else//逆转流程 与上述逻辑相反 例如拆车时需要将三角木放置在固定位置
|
|
{
|
|
if (stepName == ProcessEnum.teardown)//拆卸流程 放置到自由位置 视为操作完成
|
|
{
|
|
atFixedPos = finishedEven;
|
|
}
|
|
else if (stepName == ProcessEnum.assemble)//安装流程 放置到固定位置视为操作完成
|
|
{
|
|
atFreePos = finishedEven;
|
|
}
|
|
}
|
|
}
|
|
|
|
public override void UnActive(ProcessEnum stepName)
|
|
{
|
|
base.UnActive(stepName);
|
|
if (stepName == ProcessEnum.assemble)//安装到车上后禁用collider 避免出现冲突情况
|
|
thisCollider.enabled = false;
|
|
SetGrabInteractable(false);
|
|
}
|
|
}
|