Danil Iarosh 716f55c138
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
Add player skin override and update game assets
- Добавлен компонент подмены спрайтов игрока перед началом игры.
- Обновлены сцена уровня, префабы, шейдеры, настройки импорта и данные призов.
- Зафиксирован embedded-пакет Unity MCP 9.6.8 и обновлены связанные файлы проекта.
2026-09-22 13:21:18 +03:00

57 lines
2.0 KiB
C#

using MCPForUnity.Editor.Helpers;
using Newtonsoft.Json.Linq;
using UnityEngine;
namespace MCPForUnity.Editor.Tools.Profiler
{
internal static class FrameTimingOps
{
internal static object GetFrameTiming(JObject @params)
{
#if UNITY_2022_2_OR_NEWER
if (!FrameTimingManager.IsFeatureEnabled())
{
return new ErrorResponse(
"Frame Timing Stats is not enabled. "
+ "Enable it in Project Settings > Player > Other Settings > 'Frame Timing Stats', "
+ "or use a Development Build (always enabled).");
}
#endif
FrameTimingManager.CaptureFrameTimings();
var timings = new FrameTiming[1];
uint count = FrameTimingManager.GetLatestTimings(1, timings);
if (count == 0)
{
return new SuccessResponse("No frame timing data available yet (need a few frames).", new
{
available = false,
});
}
var t = timings[0];
return new SuccessResponse("Frame timing captured.", new
{
available = true,
cpu_frame_time_ms = t.cpuFrameTime,
#if UNITY_2022_2_OR_NEWER
cpu_main_thread_frame_time_ms = t.cpuMainThreadFrameTime,
cpu_main_thread_present_wait_time_ms = t.cpuMainThreadPresentWaitTime,
cpu_render_thread_frame_time_ms = t.cpuRenderThreadFrameTime,
#endif
gpu_frame_time_ms = t.gpuFrameTime,
#if UNITY_2022_2_OR_NEWER
frame_start_timestamp = t.frameStartTimestamp,
first_submit_timestamp = t.firstSubmitTimestamp,
#endif
cpu_time_present_called = t.cpuTimePresentCalled,
cpu_time_frame_complete = t.cpuTimeFrameComplete,
height_scale = t.heightScale,
width_scale = t.widthScale,
sync_interval = t.syncInterval,
});
}
}
}