Пример #1
0
        public override void SetPlayerDnxb(EnDnxbDir dir)
        {
            switch ((int)dir)
            {
            case 0:
                _hasDir = new[] { EnDnxbDir.Dong, EnDnxbDir.Nan, EnDnxbDir.Xi, EnDnxbDir.Bei };
                break;

            case 1:
                RePosition();
                DnxbBlink[0].transform.localPosition = PosArr[3];
                DnxbBlink[1].transform.localPosition = PosArr[0];
                DnxbBlink[2].transform.localPosition = PosArr[2];
                DnxbBlink[3].transform.localPosition = PosArr[1];
                DnxbBlink[0].transform.Rotate(RotArr[3], Space.World);
                DnxbBlink[1].transform.Rotate(RotArr[0], Space.World);
                DnxbBlink[2].transform.Rotate(RotArr[2], Space.World);
                DnxbBlink[3].transform.Rotate(RotArr[1], Space.World);
                _hasDir = new[] { EnDnxbDir.Nan, EnDnxbDir.Bei, EnDnxbDir.Xi, EnDnxbDir.Dong };
                break;

            case 2:
                RePosition();
                DnxbBlink[0].transform.localPosition = PosArr[1];
                DnxbBlink[1].transform.localPosition = PosArr[3];
                DnxbBlink[2].transform.localPosition = PosArr[2];
                DnxbBlink[3].transform.localPosition = PosArr[0];
                DnxbBlink[0].transform.Rotate(RotArr[1], Space.World);
                DnxbBlink[1].transform.Rotate(RotArr[3], Space.World);
                DnxbBlink[2].transform.Rotate(RotArr[2], Space.World);
                DnxbBlink[3].transform.Rotate(RotArr[0], Space.World);
                _hasDir = new[] { EnDnxbDir.Bei, EnDnxbDir.Dong, EnDnxbDir.Xi, EnDnxbDir.Nan };
                break;
            }
        }
Пример #2
0
 public virtual void SetPlayerDnxb(EnDnxbDir dir)
 {
     Vector3[] rotationArray = { _dong, _nan, _xi, _bet };
     transform.localRotation = Quaternion.Euler(rotationArray[(int)dir]);
     _dir = dir;
     ResetDirArray();
 }
Пример #3
0
        public override void SetPlayerDnxb(EnDnxbDir dir)
        {
            RePosition();
            int offset = 0;

            EnDnxbDir[] tempArr = new[] { EnDnxbDir.Dong, EnDnxbDir.Nan, EnDnxbDir.Xi, EnDnxbDir.Bei };
            if (UtilData.CurrGamePalyerCnt == 2)
            {
                offset = (int)dir;
            }
            if (UtilData.CurrGamePalyerCnt == 3)
            {
                tempArr = new[] { EnDnxbDir.Dong, EnDnxbDir.Nan, EnDnxbDir.Bei };
            }

            int offsetIndex = (int)dir + offset;

            for (int i = 0; i < 4; i++)
            {
                if (UtilData.CurrGamePalyerCnt != 3)
                {
                    offsetIndex = offsetIndex % tempArr.Length;
                    DnxbBlink[(int)tempArr[offsetIndex]].transform.localPosition = PosArr[i];
                    DnxbBlink[(int)tempArr[offsetIndex]].transform.Rotate(RotArr[i], Space.World);
                    _hasDir[i] = tempArr[offsetIndex];
                    offsetIndex++;
                }
                else
                {
                    if (i != 2)
                    {
                        offsetIndex = (offsetIndex) % tempArr.Length;
                        DnxbBlink[(int)tempArr[offsetIndex]].transform.localPosition = PosArr[i];
                        DnxbBlink[(int)tempArr[offsetIndex]].transform.Rotate(RotArr[i], Space.World);
                        _hasDir[i] = tempArr[offsetIndex];
                        offsetIndex++;
                    }
                    else
                    {
                        DnxbBlink[2].transform.localPosition = PosArr[2];
                        DnxbBlink[2].transform.Rotate(RotArr[2], Space.World);
                        _hasDir[i] = EnDnxbDir.Xi;
                    }
                }
            }
        }