Beta Release

This commit is contained in:
2026-09-26 19:37:28 +02:00
parent adca4d9167
commit e77ccf2f33
29 changed files with 6819 additions and 293 deletions
+37
View File
@@ -0,0 +1,37 @@
using System.Collections.Generic;
using UnityEngine;
namespace MSCO
{
/// <summary>
/// Das Hauptmenü reagiert über OnMouseEnter/OnMouseDown auf Collider in der 3D-Szene -
/// auch durch unser GUI hindurch (z.B. öffnet sich der Changelog). Solange die Maus über
/// unserem Fenster ist, werden die Maus-Events der Kameras abgeschaltet (eventMask = 0).
/// </summary>
public static class MenuInputBlocker
{
static readonly Dictionary<Camera, int> savedMasks = new Dictionary<Camera, int>();
public static bool IsBlocked { get { return savedMasks.Count > 0; } }
public static void SetBlocked(bool blocked)
{
if (blocked == IsBlocked) return;
if (blocked)
{
foreach (Camera cam in Camera.allCameras)
{
savedMasks[cam] = cam.eventMask;
cam.eventMask = 0;
}
}
else
{
foreach (KeyValuePair<Camera, int> kv in savedMasks)
if (kv.Key != null) kv.Key.eventMask = kv.Value;
savedMasks.Clear();
}
}
}
}