Files
HauntedBloodlines/Assets/Obi/Editor/Common/Blueprints/Brushes/ObiBrushMirrorSettings.cs
2025-05-29 22:31:40 +03:00

52 lines
966 B
C#

using System;
using UnityEngine;
[Serializable]
public struct ObiBrushMirrorSettings
{
[Flags]
public enum MirrorAxis
{
None = 0x0,
X = 0x1,
Y = 0x2,
Z = 0x4
}
public enum MirrorSpace
{
World = 0,
Camera = 1
}
public MirrorAxis axis;
public MirrorSpace space;
public Vector3 ToAxis()
{
uint m = (uint)axis;
bool xMirror = (m & (uint)MirrorAxis.X) > 0;
bool yMirror = (m & (uint)MirrorAxis.Y) > 0;
bool zMirror = (m & (uint)MirrorAxis.Z) > 0;
if (axis < 0 || ((int)axis > (int)MirrorAxis.X + (int)MirrorAxis.Y + (int)MirrorAxis.Z))
{
return Vector3.one;
}
Vector3 reflection = Vector3.one;
if (xMirror)
reflection.x = -1f;
if (yMirror)
reflection.y = -1f;
if (zMirror)
reflection.z = -1f;
return reflection;
}
}