public void AddPlotPoint(Vector2 Point) { ArrowDirection Dir = ArrowDirection.Undefined; if (Points.Count != PlotPointIndex++) { return; } if (Points.Count >= 1) { Dir = ArrowDirectionUtil.GetBestFitRelativeCardinalDirection(Points[Points.Count - 1].Point, Point); } PlottableArrowPoint ArrowPoint = new PlottableArrowPoint(Point, Dir); Points.Add(ArrowPoint); }
void Update() { if (this.Points.Count >= 1) { PlottableArrowPoint HeadPoint = this.Points[this.Points.Count - 1]; ArrowHead.transform.position = new Vector3( HeadPoint.Point.x, HeadPoint.Point.y, ArrowHead.transform.position.z ); if (HeadPoint.Direction != ArrowDirection.Undefined) { ArrowHead.transform.rotation = Quaternion.Euler(0, 0, ((float)HeadPoint.Direction + 90)); } } Vector3[] Positions = GetPoints3d(); LineRenderer.positionCount = Positions.Length; LineRenderer.SetPositions(Positions); }