1
0
mirror of https://github.com/soarqin/DSP_Mods_TO.git synced 2025-12-12 01:23:31 +08:00
Files
DSP_Mods_TO/XianTu/BlueTuUIData.cs
2024-05-03 00:28:53 +08:00

157 lines
2.5 KiB
C#

using System;
using System.Diagnostics;
using UnityEngine;
namespace XianTu
{
public class BlueTuUIData
{
[field: DebuggerBrowsable(DebuggerBrowsableState.Never)]
public event Action OnValueChange;
public static BlueTuUIData Instance { get; } = new();
public Vector3 Bias
{
get => _bias;
set
{
_bias = value;
var onValueChange = OnValueChange;
if (onValueChange != null)
{
onValueChange();
}
}
}
public Vector3 Scale
{
get => _scale;
set
{
_scale = value;
var onValueChange = OnValueChange;
if (onValueChange != null)
{
onValueChange();
}
}
}
public Vector3 Pivot
{
get => _pivot;
set
{
_pivot = value;
var onValueChange = OnValueChange;
if (onValueChange != null)
{
onValueChange();
}
}
}
public float LayerHeight
{
get => _layerHeight;
set
{
_layerHeight = value;
var onValueChange = OnValueChange;
if (onValueChange != null)
{
onValueChange();
}
}
}
public float Rotate
{
get => _rotate;
set
{
_rotate = value;
var onValueChange = OnValueChange;
if (onValueChange != null)
{
onValueChange();
}
}
}
public int LayerNumber
{
get => _layerNumber;
set
{
var flag = LayerNumber < 1;
if (!flag)
{
_layerNumber = value;
var onValueChange = OnValueChange;
if (onValueChange != null)
{
onValueChange();
}
}
}
}
public bool Enable
{
get => _enable;
set
{
_enable = value;
var onValueChange = OnValueChange;
if (onValueChange != null)
{
onValueChange();
}
}
}
public BlueTuUIData Clone()
{
var blueTuUIData = (BlueTuUIData)MemberwiseClone();
blueTuUIData.OnValueChange = null;
return blueTuUIData;
}
public void Reset()
{
var blueTuUIData = new BlueTuUIData();
_bias = blueTuUIData._bias;
_scale = blueTuUIData._scale;
_pivot = blueTuUIData._pivot;
_layerHeight = blueTuUIData._layerHeight;
_layerNumber = blueTuUIData._layerNumber;
_rotate = blueTuUIData._rotate;
_enable = true;
}
private Vector3 _bias = new(0f, 0f, 0f);
private Vector3 _scale = new(1f, 1f, 1f);
private Vector3 _pivot = new(0f, 0f, 0f);
private float _layerHeight = 5f;
private int _layerNumber = 1;
private float _rotate;
private bool _enable = true;
public Action OnBuildBtn;
public Action OnResetBtn;
public Action OnCopyBtn;
}
}