private void DrawHandle(float y, ChipInterfaceEditorHandleState handleState = ChipInterfaceEditorHandleState.Default) { var renderZ = forwardDepth; Material currentHandleMat; switch (handleState) { case ChipInterfaceEditorHandleState.Highlighted: currentHandleMat = highlightedHandleMat; break; case ChipInterfaceEditorHandleState.Selected: currentHandleMat = selectedHandleMat; renderZ = forwardDepth * 2; break; default: currentHandleMat = handleMat; break; } var scale = new Vector3(handleSize.x, handleSize.y, 1); var pos3D = new Vector3(transform.position.x, y, transform.position.z + renderZ); var handleMatrix = Matrix4x4.TRS(pos3D, Quaternion.identity, scale); Graphics.DrawMesh(quadMesh, handleMatrix, currentHandleMat, 0); }
private void DrawSignalHandles() { for (int i = 0; i < signals.Count; i++) { ChipInterfaceEditorHandleState handleState = ChipInterfaceEditorHandleState.Default; if (signals[i] == highlightedSignal) { handleState = ChipInterfaceEditorHandleState.Highlighted; } if (selectedSignals.Contains(signals[i])) { handleState = ChipInterfaceEditorHandleState.Selected; } DrawHandle(signals[i].transform.position.y, handleState); } }