void Awake()
    {
        xLink = new UniDCaptureLinker<float, Transform>(xCursor, (t) => t.position.x, (t, f) => t.position = new Vector3(f, t.position.y, t.position.z));
        yLink = new UniDCaptureLinker<float, Transform>(yCursor, (t) => t.position.y, (t, f) => t.position = new Vector3(t.position.x, f, t.position.z));
        zLink = new UniDCaptureLinker<float, Transform>(zCursor, (t) => t.position.z, (t, f) => t.position = new Vector3(t.position.x, t.position.y, f));

        xLinkSelf = new UniDCaptureLinker<float, Transform>(transform, (t) => t.position.x, (t, f) => t.position = new Vector3(f, t.position.y, t.position.z));
        yLinkSelf = new UniDCaptureLinker<float, Transform>(transform, (t) => t.position.y, (t, f) => t.position = new Vector3(t.position.x, f, t.position.z));
        zLinkSelf = new UniDCaptureLinker<float, Transform>(transform, (t) => t.position.z, (t, f) => t.position = new Vector3(t.position.x, t.position.y, f));

        xDualLink = UniDDualLinker<float>.DualLink(xLink, xLinkSelf);
        yDualLink = UniDDualLinker<float>.DualLink(yLink, yLinkSelf);
        zDualLink = UniDDualLinker<float>.DualLink(zLink, zLinkSelf);
    }
Ejemplo n.º 2
0
    void Awake()
    {
        xLink = new UniDCaptureLinker<float, Transform>(xCursor, (t) => t.position.x, (t, f) => t.position = new Vector3(f, t.position.y, t.position.z));
        yLink = new UniDCaptureLinker<float, Transform>(yCursor, (t) => t.position.y, (t, f) => t.position = new Vector3(t.position.x, f, t.position.z));
        zLink = new UniDCaptureLinker<float, Transform>(zCursor, (t) => t.position.z, (t, f) => t.position = new Vector3(t.position.x, t.position.y, f));

        cursorSelf = new UniDCaptureLinker<Vector3, Transform>(transform, (t) => transform.position, (t, v3) => t.position = v3);

        cursorSelf.AddOnSignaled((v3) => {
            xLink.LinkedValue = v3.x;
            yLink.LinkedValue = v3.y;
            zLink.LinkedValue = v3.z;
        });
    }