unityzgy/.svn/pristine/99/99ee2bb82c0564c7f5b1fd46e28cb0aa6f9fe8f1.svn-base
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

80 lines
2.0 KiB
Plaintext

//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Makes the hand act as an input module for Unity's event system
//
//=============================================================================
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
public class InputModule : BaseInputModule
{
private GameObject submitObject;
//-------------------------------------------------
private static InputModule _instance;
public static InputModule instance
{
get
{
if ( _instance == null )
_instance = GameObject.FindObjectOfType<InputModule>();
return _instance;
}
}
//-------------------------------------------------
public override bool ShouldActivateModule()
{
if ( !base.ShouldActivateModule() )
return false;
return submitObject != null;
}
//-------------------------------------------------
public void HoverBegin( GameObject gameObject )
{
PointerEventData pointerEventData = new PointerEventData( eventSystem );
ExecuteEvents.Execute( gameObject, pointerEventData, ExecuteEvents.pointerEnterHandler );
}
//-------------------------------------------------
public void HoverEnd( GameObject gameObject )
{
PointerEventData pointerEventData = new PointerEventData( eventSystem );
pointerEventData.selectedObject = null;
ExecuteEvents.Execute( gameObject, pointerEventData, ExecuteEvents.pointerExitHandler );
}
//-------------------------------------------------
public void Submit( GameObject gameObject )
{
submitObject = gameObject;
}
//-------------------------------------------------
public override void Process()
{
if ( submitObject )
{
BaseEventData data = GetBaseEventData();
data.selectedObject = submitObject;
ExecuteEvents.Execute( submitObject, data, ExecuteEvents.submitHandler );
submitObject = null;
}
}
}
}