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); }
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; }); }