using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class DataPlate { /// 核心模块 private ModuleCore ModuleCore => ModuleCore.I; /// 设计可视化模块 private ModuleVisual VisualDesign => ModuleCore.VisualDesign; /// 烘焙可视化模块 private ModuleVisual VisualBaking => ModuleCore.VisualBaking; /// 简单多边形算法模块 private ModuleAlgorithm AlgorithmSimplePolygon => ModuleCore.AlgorithmSimplePolygon; /// 细分多边形算法模块 private ModuleAlgorithm AlgorithmSubdivisionPolygon => ModuleCore.AlgorithmSubdivisionPolygon; public void UpdateVisual(bool recalculate = true) { if (recalculate) { //简单多边形计算 //AlgorithmSimplePolygon.Compute(this); //细分多边形计算 AlgorithmSubdivisionPolygon.Compute(this); } //生成可视化内容 VisualDesign.UpdateVisual(this); //生成烘焙内容 VisualBaking.UpdateVisual(this); } #region 核心数据 /// 边缘平滑度 public float smooth = 0.01f; /// 板片设计视图的位置(本地坐标系) public Vector3 designPosition; /// 板片烘焙视图的位置(本地坐标系) public Vector3 bakingPosition; /// 板片烘焙视图的旋转(本地坐标系) public Vector3 bakingEulerAngles; /// public List points = new List(); /// public List sides = new List(); #endregion #region 次要数据 /// 边界数据 public DataBorder border; /// 边缘点 public List edgePoints; /// 设计网格 public Mesh designMesh; /// 三角形数据 public List triangles; /// 顶点网格 public GridTool vertexGrid; #endregion #region 可视化数据 /// 可视化对象 public ModulePrefab design; /// 可视化对象 public ModulePrefab baking; /// 安排点 public FixedArrange arrange; #endregion }