- LocalizationManager: 新增翻译表(SetFormatted/SetDuration/LocalizeOperateMsg) - LoginPanel: InputField placeholder本地化、字体颜色保持 - HistoryPanel: 用时数据本地化、placeholder本地化 - RecordDetailPanel: 操作详情消息本地化(LanguageChanged重建) - AppraiseWindowBase: 评价等级本地化、操作消息重建 - EditorAppraiser: 所有评估消息改用InjectOperateMsgLocalized - StudentOperateRecorder: 新增InjectOperateMsgLocalized方法 - LocalizationLanguageTestBar: 单例模式、ScreenSpaceOverlay筛选 - 字体切换时保留颜色和verticalOverflow
58 lines
1.4 KiB
C#
58 lines
1.4 KiB
C#
using DG.Tweening;
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using VRTK;
|
|
|
|
//一个触发可以旋转解锁/锁定的锁扣
|
|
public class SimpleLocker : VRUsableStepActionBase
|
|
{
|
|
[Tooltip("解锁状态角度")]
|
|
[SerializeField]
|
|
Vector3 freeAngle;
|
|
|
|
Vector3 fiexdAngle;
|
|
|
|
|
|
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
fiexdAngle = this.transform.localEulerAngles;
|
|
InitCollider();
|
|
}
|
|
|
|
|
|
public override void OnUsed()
|
|
{
|
|
SetUsable(false);//只能触发一次 避免重复触发结束事件
|
|
if (processName == ProcessEnum.teardown)
|
|
this.transform.DOLocalRotateQuaternion(Quaternion.Euler(freeAngle), 0.5f).OnComplete(UnFixedMoveOver);//播放拆卸动画
|
|
else
|
|
{
|
|
this.transform.DOLocalRotateQuaternion(Quaternion.Euler(fiexdAngle), 0.5f).OnComplete(FixedMoveOver);//播放安装动画
|
|
}
|
|
}
|
|
|
|
private void FixedMoveOver()
|
|
{
|
|
fixedOver?.Invoke();
|
|
fixedOver = null;//执行一次后清除事件 避免重复触发
|
|
}
|
|
|
|
private void UnFixedMoveOver()
|
|
{
|
|
unFixedOver?.Invoke();
|
|
unFixedOver = null;//执行一次后清除事件 避免重复触发
|
|
}
|
|
|
|
void InitCollider()
|
|
{
|
|
foreach (var item in this.GetComponentsInChildren<Collider>())
|
|
{
|
|
item.isTrigger = true;
|
|
}
|
|
}
|
|
}
|