Files
MuHua-Core/Assets/ModuleData/DataPresetsPlate.cs
T
2024-11-08 18:15:06 +08:00

32 lines
1.3 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "PresetsPlate", menuName = "数据模块/预设模板")]
public class DataPresetsPlate : ScriptableObject {
public List<Vector2> designPoints;
public DataPlate ToPlate() {
DataPlate data = new DataPlate();
data.designPoints = new List<DataDesignPoint>();
int maxIndex = designPoints.Count;
for (int i = 0; i < designPoints.Count; i++) {
Vector2 position = designPoints[i];
int left = DataPlateTool.NormalIndex(i + 1, maxIndex);
int right = DataPlateTool.NormalIndex(i - 1, maxIndex);
Vector2 leftBezier = (designPoints[left] - position) * 0.5f;
Vector2 rightBezier = (designPoints[right] - position) * 0.5f;
DataDesignPoint designPoint = CreateDataDesignPoint(i, position, data);
designPoint.leftBezier = leftBezier;
designPoint.rightBezier = rightBezier;
data.designPoints.Add(designPoint);
}
return data;
}
private DataDesignPoint CreateDataDesignPoint(int index, Vector2 position, DataPlate data) {
DataDesignPoint designPoint = new DataDesignPoint(data);
designPoint.index = index;
designPoint.postiton = position;
return designPoint;
}
}