// Use this for initialization void Start() { objects = new List <GameObject>(); candyRadius = GameObject.Find("Candy").GetComponent <SpriteRenderer>().bounds.size.x * 0.5f; radius += candyRadius; scpt = GameObject.Find("@GenerateRope").GetComponent <GenerateRope>(); for (int i = 0; i < hook.Length; i++) { if (hook[i]) { if (isHook) { scpt.GenerateNewRope(hook[i].position, transform.position, null); } else { scpt.GenerateNewRope(hook[i].position, transform.position, gameObject.AddComponent <HingeJoint2D>()); } } } if (isAttractiv) { float nbPoints = 360 / (radius * 30); for (float i = 0; i < 360; i += nbPoints) { GameObject gb = Instantiate(radiusVisual, transform.position + Vector3.up * (radius + candyRadius * 2.0f), Quaternion.identity); gb.transform.RotateAround(transform.position, Vector3.forward, i); gb.transform.parent = transform; objects.Add(gb); } } }
public override void OnInspectorGUI() { EditorGUILayout.HelpBox("HOW TO USE: Place this script on an empty object, then give it a rope segment prefab. Indicate amount of segments you want and click generate.", MessageType.Info); DrawDefaultInspector(); GenerateRope myScript = (GenerateRope)target; if (GUILayout.Button("Generate Rope")) { myScript.createRopesQty(); } if (GUILayout.Button("Reset")) { myScript.Reset(); } }