示例#1
0
    public void SetChirality(Chirality whichHand)
    {
        if (whichHand == _chirality)
        {
            return;
        }
        else
        {
            Transform currentPalm;
            Transform targetPalm;
            if (_chirality == Chirality.Left)
            {
                currentPalm = _leftPalm;
                targetPalm  = _rightPalm;
            }
            else
            {
                currentPalm = _rightPalm;
                targetPalm  = _leftPalm;
            }

            Vector3 curLocal = transform.localPosition;
            this.transform.rotation      = MirrorUtil.GetMirroredRotation(this.transform.rotation, currentPalm, targetPalm);
            this.transform.parent        = targetPalm;
            this.transform.localPosition = new Vector3(-curLocal.x, curLocal.y, curLocal.z);

            _chirality = whichHand;
            OnAnchorChiralityChanged(_chirality);
        }
    }
示例#2
0
    public void Draw(List <UIVertex> vertices)
    {
        Rect rect = _image.GetPixelAdjustedRect();

        ChangeVertexPos(rect, vertices);
        Debug.Log(vertices.Count);
        MirrorUtil.RemoveInvalidVertex(vertices);
        Debug.Log(vertices.Count);
        MirrorUtil.MirrorVertex(rect, vertices, _mirrorType);
    }
示例#3
0
        protected override void DoOnAnchorChiralityChanged(Chirality newChirality)
        {
            base.DoOnAnchorChiralityChanged(newChirality);

            if (newChirality != DisplayingChirality)
            {
                _brushControlsMoveable.A.localPosition = new Vector3(-_brushControlsMoveable.A.localPosition.x, _brushControlsMoveable.A.localPosition.y, _brushControlsMoveable.A.localPosition.z);
                _brushControlsMoveable.A.rotation      = MirrorUtil.GetMirroredRotation(_brushControlsMoveable.A.rotation, this.transform);
                if (!IsWorkstation)
                {
                    _brushControlsMoveable.MoveToA();
                }

                DisplayingChirality = newChirality;
            }
        }
示例#4
0
        protected override void DoOnAnchorChiralityChanged(Chirality newChirality)
        {
            base.DoOnAnchorChiralityChanged(newChirality);

            if (newChirality != DisplayingChirality)
            {
                for (int i = 0; i < _menuButtonMoveables.Length; i++)
                {
                    _menuButtonMoveables[i].A.localPosition = new Vector3(-_menuButtonMoveables[i].A.localPosition.x, _menuButtonMoveables[i].A.localPosition.y, _menuButtonMoveables[i].A.localPosition.z);
                    _menuButtonMoveables[i].A.rotation      = MirrorUtil.GetMirroredRotation(_menuButtonMoveables[i].A.rotation, _menuButtonMoveables[i].transform.parent);
                    if (!IsWorkstation)
                    {
                        _menuButtonMoveables[i].MoveToA();
                    }
                }
                DisplayingChirality = newChirality;
            }
        }