void Draw(CustomBezier tgt) { for (int i = 0; i < tgt.listPoints.Count; i++) { tgt.listPoints[i].position = Handles.DoPositionHandle(tgt.listPoints[i].transform.position, tgt.listPoints[i].rotation); tgt.listTgt[i].position = Handles.DoPositionHandle(tgt.listTgt[i].transform.position, tgt.listTgt[i].rotation); Handles.DrawLine(tgt.listPoints[i].position, tgt.listTgt[i].position); } }
void RemoveLastPoint(CustomBezier tgt) { if (tgt.listPoints.Count > 2 || tgt.listTgt.Count > 2) { if (GUILayout.Button("Remove last point")) { int index = tgt.listPoints.Count - 1; DestroyImmediate(tgt.listPoints[index].gameObject); DestroyImmediate(tgt.listTgt[index].gameObject); tgt.listPoints.RemoveAt(index); tgt.listTgt.RemoveAt(index); } } }
void AddPoint(CustomBezier tgt) { if (GUILayout.Button("Add point")) { tgt.listPoints.Add(new GameObject("Point" + tgt.listPoints.Count.ToString()).transform); tgt.listTgt.Add(new GameObject("Tangent" + tgt.listTgt.Count.ToString()).transform); tgt.listPoints[tgt.listPoints.Count - 1].transform.position = tgt.listPoints[tgt.listPoints.Count - 2].transform.position + new Vector3(20, 0, 0); tgt.listTgt[tgt.listTgt.Count - 1].transform.position = tgt.listTgt[tgt.listTgt.Count - 2].transform.position + new Vector3(20, 0, 0); foreach (var item in tgt.listPoints) { item.SetParent(tgt.current.transform); } foreach (var item in tgt.listTgt) { item.SetParent(tgt.current.transform); } } }
private void OnEnable() { tgt = (CustomBezier)target; }
private void OnEnable() { SpawnEnemy temp = (SpawnEnemy)target; bezierInfo = temp.gameObject.GetComponent <CustomBezier>(); }