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
}