using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DesignInsert : UnitMouseInput {
/// 板片资产
public ModuleAssets AssetsPlate => ModuleCore.AssetsPlate;
/// 查询边算法模块
public ModuleFind FindSide => ModuleCore.FindSide;
/// 计算位置到边上最近的点
public ModuleAlgorithm AlgorithmSidePoint => ModuleCore.AlgorithmSidePoint;
/// 插入点数据转换板片上的点
public ModuleBuilder InsertPointToPoint => ModuleCore.InsertPointToPoint;
public override void MouseDown(DataMouseInput data) {
if (!FindSide.Find(data.WorldPosition, out DataSide side)) { return; }
DataIntersect intersect = new DataIntersect(side, data.WorldPosition);
AlgorithmSidePoint.Compute(intersect);
if (!intersect.isIntersect) { return; }
DataInsertPoint insertPoint = new DataInsertPoint();
insertPoint.position = intersect.intersectPoint - side.plate.designPosition;
insertPoint.plate = side.plate;
insertPoint.aPoint = side.aPoint;
insertPoint.bPoint = side.bPoint;
insertPoint.side = side;
InsertPointToPoint.To(insertPoint);
}
}