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; } }
public virtual void SetPlayerDnxb(EnDnxbDir dir) { Vector3[] rotationArray = { _dong, _nan, _xi, _bet }; transform.localRotation = Quaternion.Euler(rotationArray[(int)dir]); _dir = dir; ResetDirArray(); }
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; } } } }