SHA256
66 lines
1.9 KiB
C#
66 lines
1.9 KiB
C#
using ADOFAIRenderer.Localization;
|
|
using ADOFAIRenderer.UI;
|
|
using UnityEngine;
|
|
|
|
namespace ADOFAIRenderer.Core;
|
|
|
|
[DefaultExecutionOrder(int.MinValue)]
|
|
internal class FirstUpdateHook : MonoBehaviour
|
|
{
|
|
private bool _checkedFFmpeg;
|
|
private bool _checkedNvidiaDriver;
|
|
|
|
private void Update()
|
|
{
|
|
if (!_checkedFFmpeg)
|
|
{
|
|
if (FFmpegDownloadUI.Instance) return;
|
|
|
|
if (!FFmpegDownloadUI.CheckFFmpegExists())
|
|
{
|
|
FFmpegDownloadUI.ShowDownloadUI();
|
|
return;
|
|
}
|
|
_checkedFFmpeg = true;
|
|
}
|
|
|
|
if (!_checkedNvidiaDriver)
|
|
{
|
|
if (CommonWarningDialogUI.Instance) return;
|
|
|
|
_checkedNvidiaDriver = true;
|
|
CheckNvidiaDriverWarning();
|
|
}
|
|
|
|
if (RenderManager.Instance)
|
|
{
|
|
RenderManager.Instance.OnPreUpdate();
|
|
}
|
|
}
|
|
|
|
private void CheckNvidiaDriverWarning()
|
|
{
|
|
var driverVer = Util.GPUUtil.GetNvidiaDriverVersion();
|
|
if (driverVer is null or >= 610.00f) return;
|
|
|
|
var currentVersion = driverVer.Value.ToString("F2");
|
|
|
|
CommonWarningDialogUI.ShowDialog(
|
|
LocalizationManager.Get("ui.driver_warning.title"),
|
|
LocalizationManager.Get("ui.driver_warning.body", currentVersion),
|
|
new DialogButton(LocalizationManager.Get("ui.driver_warning.btn_update"), () =>
|
|
{
|
|
Application.OpenURL("https://www.nvidia.com/Download/index.aspx");
|
|
Application.Quit();
|
|
}, new Color(0.0f, 0.8f, 1.0f, 1.0f)),
|
|
new DialogButton(LocalizationManager.Get("ui.driver_warning.btn_disable"), () =>
|
|
{
|
|
RenderMod.IsFeatureDisabled = true;
|
|
}),
|
|
new DialogButton(LocalizationManager.Get("ui.driver_warning.btn_continue"), () =>
|
|
{
|
|
// ignored
|
|
})
|
|
);
|
|
}
|
|
} |