示例#1
0
    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);
    }
示例#2
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);
        }
    }