public void DrawLine() { if (Points.Length < 2) { return; } ThisMesh = new Mesh(); if (WipeAmount < 0.001f) { return; } SplitQuads = new List <Vector3[]>(); SourceSlices = new List <Slice2D>(); PolyLine = new List <Vector3>(); // Adjusted Points are trimmed (fillamount) then scaled var adjPoints = Points.AdjustPoints(WipeAmount, WipeMode, Xscale, Yscale, ShowDebug) .OffsetPoints(Offset); SourceSlices = InitializeQuads(adjPoints, SourceSlices); FinalSlices = Continuous ? SetAveragedSlices(SourceSlices) : SourceSlices; // Prepare vertices for (int index = 0; index < FinalSlices.Count; index++) { //if (HasHat && index == 0) continue; Slice2D slice = FinalSlices[index]; PolyLine.Add(slice.P1); PolyLine.Add(slice.P2); } ThisMesh.vertices = PolyLine.ToArray(); MeshTools.AssignDefaultUvs(ThisMesh); if (Continuous) { MeshTools.CreateConnectedMesh(ThisMesh, FinalSlices); } else { MeshTools.CreateSplitMesh(ThisMesh, FinalSlices); } //ThisMaterial.EnableKeyword("_EMISSION"); // Unity5 Standard Material Requirement //"_EmissionColor" ThisMaterial.SetColor("_Color", LineColor); }