public void Rolling(XBezierArrow sourceArrow) { Destroy(sourceArrow.GetComponent <MeshFilter> ()); Destroy(sourceArrow.GetComponent <MeshRenderer> ()); var destArrow = gameObject.AddComponent <XBezierArrow2> (); destArrow.step = sourceArrow.step; destArrow.yWidthCurve = sourceArrow.yWidthCurve; destArrow.headWid = sourceArrow.headWid; destArrow.p0 = sourceArrow.p0; destArrow.p1 = sourceArrow.p1; destArrow.p2 = sourceArrow.p2; destArrow.p3 = sourceArrow.p3; destArrow.stepCount = sourceArrow.stepCount; destArrow.UVCount = 40; Gradient g = new Gradient(); g.colorKeys = new GradientColorKey[] { new GradientColorKey(Color.white, 0), new GradientColorKey(Color.white, 1), }; g.alphaKeys = new GradientAlphaKey[] { new GradientAlphaKey(1, 0), new GradientAlphaKey(1, 0.8f), new GradientAlphaKey(0, 1) }; destArrow.gradient = g; destArrow.UVOffset = new Vector2(0.01f, 0); destArrow.mesh1 = CreateMesh("Mesh1", "Strip"); destArrow.mesh2 = CreateMesh("Mesh2", "StripLoop"); destArrow.UpdateUVRenderer = destArrow.mesh2.GetComponent <MeshRenderer> (); }
private void SaveTemplate(XBezierArrow script) { XBezierArrowTemplate template = XScriptableObject.Create <XBezierArrowTemplate>(null); template.Save(script); template.SaveInEditor(); // string path = AssetsUtilites.SaveFilePanel( "XBezierArrow Save Template", XEditorSetting.ProjectPath, script.gameObject.name + ".asset", "asset", true ); // if( path == "" ) // return; // // path = FileUtil.GetProjectRelativePath( path ); // // XBezierArrowTemplate template = XScriptableObject.Create<XBezierArrowTemplate>(); // template.Save (script); // AssetDatabase.CreateAsset( template, path ); // AssetDatabase.SaveAssets(); }
public void Save(XBezierArrow script) { this.position = script.transform.position; this.rotation = script.transform.rotation; this.localScale = script.transform.localScale; position0 = script.position0; position1 = script.position1; position2 = script.position2; position3 = script.position3; step = script.step; yWidthCurve = script.yWidthCurve; headRDTexCoord = script.headRDTexCoord; headRTTexCoord = script.headRTTexCoord; headWid = script.headWid; stepCount = script.stepCount; }
public void CreateFromTemplate(XBezierArrow script) { script.transform.position = position; script.transform.rotation = rotation; script.transform.localScale = localScale; script.position0 = position0; script.position1 = position1; script.position2 = position2; script.position3 = position3; script.step = step; script.yWidthCurve = yWidthCurve; script.headRTTexCoord = headRTTexCoord; script.headRDTexCoord = headRDTexCoord; script.headWid = headWid; script.stepCount = stepCount; script.Refresh(); script.isNeedUpdate = false; }
public void ExportPolygon() { XBezierArrow bezierArrow = this.As <XBezierArrow>(); var points = bezierArrow.GetTotalPoints().ToArray(); var arrayPoints = new Vector2[points.Length]; for (int i = 0; i < points.Length; i++) { arrayPoints[i] = points[i]; } if (colliderType == ColliderType.PolygonCollider) { PolygonCollider2D collider = this.As <PolygonCollider2D>(); collider.points = arrayPoints; } else { EdgeCollider2D collider = this.As <EdgeCollider2D>(); collider.points = arrayPoints; } }