unityzgy/Assets/ThirdPackages/VRPackage/VRTK/Examples/ExampleResources/Scripts/RealGun_SafetySwitch.cs
ayuan9957 bf12e02276 feat: 多语言本地化系统 - 支持中/英/法/俄实时切换
- LocalizationManager: 新增翻译表(SetFormatted/SetDuration/LocalizeOperateMsg)
- LoginPanel: InputField placeholder本地化、字体颜色保持
- HistoryPanel: 用时数据本地化、placeholder本地化
- RecordDetailPanel: 操作详情消息本地化(LanguageChanged重建)
- AppraiseWindowBase: 评价等级本地化、操作消息重建
- EditorAppraiser: 所有评估消息改用InjectOperateMsgLocalized
- StudentOperateRecorder: 新增InjectOperateMsgLocalized方法
- LocalizationLanguageTestBar: 单例模式、ScreenSpaceOverlay筛选
- 字体切换时保留颜色和verticalOverflow
2026-07-16 10:05:59 +08:00

43 lines
1.0 KiB
C#

namespace VRTK.Examples
{
using UnityEngine;
public class RealGun_SafetySwitch : VRTK_InteractableObject
{
public bool safetyOff = true;
private float offAngle = 40f;
private Vector3 fixedPosition;
public override void StartUsing(VRTK_InteractUse currentUsingObject)
{
base.StartUsing(currentUsingObject);
SetSafety(!safetyOff);
}
protected void Start()
{
fixedPosition = transform.localPosition;
SetSafety(safetyOff);
}
protected override void Update()
{
base.Update();
transform.localPosition = fixedPosition;
if (safetyOff)
{
transform.localEulerAngles = new Vector3(0f, 0f, 0f);
}
else
{
transform.localEulerAngles = new Vector3(0f, offAngle, 0f);
}
}
private void SetSafety(bool safety)
{
safetyOff = safety;
}
}
}