public static void CreateLine(int index) { GameObject gLine = new GameObject("line" + (index - 1).ToString()); GameObject gLines = GameObject.Find("PlatformLines"); if (gLines != null) { gLine.transform.SetParent(gLines.transform); } LineRenderer line = gLine.AddComponent <LineRenderer>(); line.sharedMaterial = mov.lineMaterial; Vector3 pos1 = mov.PlatformPositions[index - 1], pos2 = mov.PlatformPositions[index]; pos1.z = mov.transform.position.z; pos2.z = mov.transform.position.z; line.SetPositions(new Vector3[] { pos1, pos2 }); line.SetWidth(mov.LineWidth, mov.LineWidth); AutoLineRender rLine = gLine.AddComponent <AutoLineRender>(); rLine.SetPoints(mov.LineRatio, pos1, pos2); rLine.AutoTile(); lines.Add(line); mov.Lines.Add(line); }
public override void OnInspectorGUI() { textureStyle = new GUIStyle(GUI.skin.button); textureStyle.margin = new RectOffset(2, 2, 2, 2); textureStyle.normal.background = null; textureStyleAct = new GUIStyle(textureStyle); textureStyleAct.margin = new RectOffset(0, 0, 0, 0); textureStyleAct.normal.background = textureStyle.active.background; base.OnInspectorGUI(); MovingPlatform mov = (MovingPlatform)target; lines = mov.Lines; if (lines == null) { mov.Lines = new List <LineRenderer>(); } if (GUILayout.Button("DeleteLines")) { mov.Lines = new List <LineRenderer>(); foreach (LineRenderer line in lines) { DestroyImmediate(line.gameObject); } } if (GUILayout.Button("CreateLines")) { foreach (LineRenderer line in lines) { DestroyImmediate(line.gameObject); } lines.Clear(); for (int i = 1; i < mov.PlatformPositions.Count; i++) { GameObject gLine = new GameObject("line" + (i - 1).ToString()); GameObject gLines = GameObject.Find("PlatformLines"); if (gLines != null) { gLine.transform.SetParent(gLines.transform); } LineRenderer line = gLine.AddComponent <LineRenderer>(); line.sharedMaterial = mov.lineMaterial; Vector3 pos1 = mov.PlatformPositions[i - 1], pos2 = mov.PlatformPositions[i]; pos1.z = mov.transform.position.z; pos2.z = mov.transform.position.z; line.SetPositions(new Vector3[] { pos1, pos2 }); line.SetWidth(mov.LineWidth, mov.LineWidth); AutoLineRender rLine = gLine.AddComponent <AutoLineRender>(); rLine.SetPoints(mov.LineRatio, pos1, pos2); rLine.AutoTile(); lines.Add(line); } mov.Lines = lines; } if (drawMod) { if (GUILayout.Button("", textureStyleAct, GUILayout.Width(drawIcon.textureRect.width + 6), GUILayout.Height(drawIcon.textureRect.height + 4))) { drawMod = false; } GUI.DrawTextureWithTexCoords(new Rect(GUILayoutUtility.GetLastRect().x + 3f, GUILayoutUtility.GetLastRect().y + 2f, GUILayoutUtility.GetLastRect().width - 6f, GUILayoutUtility.GetLastRect().height - 4f), drawIcon.texture, new Rect(drawIcon.textureRect.x / (float)drawIcon.texture.width, drawIcon.textureRect.y / (float)drawIcon.texture.height, drawIcon.textureRect.width / (float)drawIcon.texture.width, drawIcon.textureRect.height / (float)drawIcon.texture.height)); } else { if (GUILayout.Button("", textureStyle, GUILayout.Width(drawIcon.textureRect.width + 2), GUILayout.Height(drawIcon.textureRect.height + 2))) { drawMod = true; } GUI.DrawTextureWithTexCoords(GUILayoutUtility.GetLastRect(), drawIcon.texture, new Rect(drawIcon.textureRect.x / (float)drawIcon.texture.width, drawIcon.textureRect.y / (float)drawIcon.texture.height, drawIcon.textureRect.width / (float)drawIcon.texture.width, drawIcon.textureRect.height / (float)drawIcon.texture.height)); } }