You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.8 KiB
C#
54 lines
1.8 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
namespace FluffyGroomingTool {
|
|
[Serializable]
|
|
public class CardMeshProperties : ICloneable {
|
|
[SerializeField] int _tempCardSubdivisionsY = -1;
|
|
/**
|
|
* Aplogies to myself and whoever reads this. This needs some refactoring.
|
|
*/
|
|
public int RedoWatcherCardSubdivisionsY { get; set; }
|
|
public int TempSubdivisionsY {
|
|
get {
|
|
if (_tempCardSubdivisionsY == -1) _tempCardSubdivisionsY = cardSubdivisionsY;
|
|
return _tempCardSubdivisionsY;
|
|
}
|
|
set => _tempCardSubdivisionsY = value;
|
|
}
|
|
|
|
public bool isSameCurve(float sum) {
|
|
if (curveSum < 0) curveSum = sum;
|
|
// ReSharper disable CompareOfFloatsByEqualityOperator
|
|
if (sum == curveSum) return true;
|
|
curveSum = sum;
|
|
return false;
|
|
}
|
|
|
|
[SerializeField] public int cardSubdivisionsX = 1;
|
|
[SerializeField] public int cardSubdivisionsY = 4;
|
|
private float curveSum = -1;
|
|
|
|
[SerializeField] public AnimationCurve shapeCurve = new AnimationCurve(
|
|
new Keyframe(0, 1f, -0.007165052f, -0.007165052f, 0, 0.6583334f),
|
|
new Keyframe(1f, 0f, -16.49596f, -16.49596f, 0.05833334f, 0)
|
|
);
|
|
|
|
[SerializeField] public AnimationCurve moveCurve = AnimationCurve.Linear(0, 0, 1, 1);
|
|
|
|
|
|
public int getCardMeshVerticesY() {
|
|
return cardSubdivisionsY + 1;
|
|
}
|
|
|
|
public object Clone() {
|
|
return new CardMeshProperties() {
|
|
TempSubdivisionsY = cardSubdivisionsY,
|
|
cardSubdivisionsX = cardSubdivisionsX,
|
|
shapeCurve = new AnimationCurve(shapeCurve.keys),
|
|
moveCurve = new AnimationCurve(moveCurve.keys),
|
|
curveSum = curveSum
|
|
};
|
|
}
|
|
}
|
|
} |