unityzgy/.svn/pristine/c1/c17f3c0d33b20114dca91ec03ecfbeafb03d4b33.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

51 lines
1.4 KiB
Plaintext

//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Spawns and attaches an object to the hand after the controller has
// tracking
//
//=============================================================================
using UnityEngine;
using System.Collections;
namespace Valve.VR.InteractionSystem
{
//-------------------------------------------------------------------------
public class SpawnAndAttachAfterControllerIsTracking : MonoBehaviour
{
private Hand hand;
public GameObject itemPrefab;
//-------------------------------------------------
void Start()
{
hand = GetComponentInParent<Hand>();
}
//-------------------------------------------------
void Update()
{
if ( itemPrefab != null )
{
if ( hand.controller != null )
{
if ( hand.controller.hasTracking )
{
GameObject objectToAttach = GameObject.Instantiate( itemPrefab );
objectToAttach.SetActive( true );
hand.AttachObject( objectToAttach );
hand.controller.TriggerHapticPulse( 800 );
Destroy( gameObject );
// If the player's scale has been changed the object to attach will be the wrong size.
// To fix this we change the object's scale back to its original, pre-attach scale.
objectToAttach.transform.localScale = itemPrefab.transform.localScale;
}
}
}
}
}
}