Ejemplo n.º 1
0
    public override void Draw()
    {
        if (m_transistionNode != null)
        {
            m_fromWin = AnimationTreeEditor.instance.GetCorrespondingWindow(m_transistionNode.m_fromState);
            m_toWin = AnimationTreeEditor.instance.GetCorrespondingWindow(m_transistionNode.m_toState);

            if ( m_fromWin == null || m_toWin == null )
            {
                return;
            }

            m_globalStartPosition = m_fromWin.LocalToGlobalCoord(m_transistionNode.m_startConnection) + m_startPosOffset;
            m_globalEndPosition = m_toWin.LocalToGlobalCoord(m_transistionNode.m_endConnection) + m_endPosOffset;

            Vector2 camOffset = AnimationTreeEditor.instance.m_cameraOffset;

            if (Active)
            {
                AnimationTreeEditor.instance.DrawLine(m_globalStartPosition + camOffset, m_globalEndPosition + camOffset, new Color(0.5f, 0.5f, 1, 1), false, 2);
            }
            Color col = Color.white;
            if (m_transistionNode.Progress > 0)
            {
                col = Color.red;
            }
            AnimationTreeEditor.instance.DrawConnectionLine(m_globalStartPosition + camOffset, m_globalEndPosition + camOffset, col, false);

            UpdateLinkPositions();
        }
    }