unityzgy/Assets/ThirdPackages/VRPackage/SteamVR/Scripts/SteamVR_Stats.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

70 lines
1.5 KiB
C#

//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Helper to display various hmd stats via GUIText
//
//=============================================================================
using UnityEngine;
using Valve.VR;
using UnityEngine.UI;
public class SteamVR_Stats : MonoBehaviour
{
public Text text;
public Color fadeColor = Color.black;
public float fadeDuration = 1.0f;
void Awake()
{
if (text == null)
{
text = GetComponent<Text>();
text.enabled = false;
}
if (fadeDuration > 0)
{
SteamVR_Fade.Start(fadeColor, 0);
SteamVR_Fade.Start(Color.clear, fadeDuration);
}
}
double lastUpdate = 0.0f;
void Update()
{
if (text != null)
{
if (Input.GetKeyDown(KeyCode.I))
{
text.enabled = !text.enabled;
}
if (text.enabled)
{
var compositor = OpenVR.Compositor;
if (compositor != null)
{
var timing = new Compositor_FrameTiming();
timing.m_nSize = (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(Compositor_FrameTiming));
compositor.GetFrameTiming(ref timing, 0);
var update = timing.m_flSystemTimeInSeconds;
if (update > lastUpdate)
{
var framerate = (lastUpdate > 0.0f) ? 1.0f / (update - lastUpdate) : 0.0f;
lastUpdate = update;
text.text = string.Format("framerate: {0:N0}\ndropped frames: {1}", framerate, (int)timing.m_nNumDroppedFrames);
}
else
{
lastUpdate = update;
}
}
}
}
}
}