using System.Collections; using System.Collections.Generic; using UnityEngine; /// /// 板片预设数据(DataPlatePresets) 转换 板片数据(DataPlate) /// public class BuilderPlatePresetsToPlate : ModuleBuilder { protected override void Awake() => ModuleCore.PlatePresetsToPlate = this; public override DataPlate To(DataPlatePresets origin) { DataPlate dataPlate = new DataPlate(); dataPlate.points = ToDataPoint(dataPlate, origin.designPoints); dataPlate.sides = ToDataSide(dataPlate, dataPlate.points); return dataPlate; } private List ToDataPoint(DataPlate dataPlate, List list) { List points = new List(); for (int i = 0; i < list.Count; i++) { DataPoint point = new DataPoint(dataPlate); point.position = list[i]; points.Add(point); } return points; } private List ToDataSide(DataPlate dataPlate, List list) { List sides = new List(); for (int i = 0; i < list.Count; i++) { DataSide side = new DataSide(dataPlate); side.aPoint = list.LoopIndex(i + 0); side.bPoint = list.LoopIndex(i + 1); side.OneRankBezier(); sides.Add(side); } return sides; } }