[F] Refactor CustomCameraId and remove hard-coded enums / IDs (#71)

* refactor

* Add PrintCameraList check

* Separate PrintCameraList to a class

* cleanup
This commit is contained in:
Menci
2024-10-19 01:34:53 +08:00
committed by GitHub
parent 91a120599f
commit a08e93d975
2 changed files with 82 additions and 77 deletions

View File

@@ -0,0 +1,31 @@
using MelonLoader;
using UnityEngine;
namespace AquaMai.CustomCameraId;
public class PrintCameraList
{
public static void DoCustomPatch(HarmonyLib.Harmony _)
{
WebCamDevice[] devices = WebCamTexture.devices;
string cameraList = "Connected Web Cameras:\n";
for (int i = 0; i < devices.Length; i++)
{
WebCamDevice webCamDevice = devices[i];
WebCamTexture webCamTexture = new WebCamTexture(webCamDevice.name);
webCamTexture.Play();
cameraList += "==================================================\n";
cameraList += "Name: " + webCamDevice.name + "\n";
cameraList += $"ID: {i}\n";
cameraList += $"Resolution: {webCamTexture.width} * {webCamTexture.height}\n";
cameraList += $"FPS: {webCamTexture.requestedFPS}\n";
webCamTexture.Stop();
}
cameraList += "==================================================";
foreach (var line in cameraList.Split('\n'))
{
MelonLogger.Msg($"[CustomCameraId] {line}");
}
}
}