public void CreateWanGangCard(int id) { Debug.Log("CreateWanGangCard id: " + id); int type = id / 100; id = id % 100; OtherSeat os = getOtherSeat(type); if (pengCardIdList.Contains(id)) { Debug.Log("CreateWanGangCard id=" + id); int index = pengCardIdList.IndexOf(id); Vector3 wanGangCard = (Vector3)pengCardPosList[index] + new Vector3(0, 0, 0 - offx); Quaternion wanGangCardRot = os != OtherSeat.Up ? Quaternion.Euler(-90, 90, 0) : Quaternion.Euler(-90, -90, 0); CreatePengGangCard(id % 100, wanGangCard, wanGangCardRot); pengCardIdList.RemoveAt(index); pengCardPosList.RemoveAt(index); } }
public void Peng(OtherSeat nowPlay, int id) { peng(nowPlay, id); CreatePengHand(); }
/// <summary> /// 生成杠的四张牌 /// </summary> /// <param name="nowPlay"></param> /// <param name="id"></param> /// <param name="handCard"></param> void gang(OtherSeat nowPlay, int id, bool isDarkGang) { //如果是暗杠 if (isDarkGang) { if (LastIsDown || LastIsFace) { startPos += new Vector3(0.037f, 0, 0); startPosOffset += new Vector3(0.037f, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDown = false; LastIsFace = false; } else if (LastIsUp) { startPos += new Vector3(0.02f, 0, 0.017f); startPosOffset += new Vector3(0.02f, 0, 0.017f); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsUp = false; } else if (LastIsDarkGang) { startPos += new Vector3(0.037f, -0.017f, 0); startPosOffset += new Vector3(0.037f, -0.017f, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDarkGang = false; } gangCard1Pos = startPos; gangCard1Rot = Quaternion.Euler(-90, 0, 0); gangCard1 = CreatePengGangCard(id, handCardPrefab, gangCard1Pos, gangCard1Rot); gangCard2Pos = startPos + new Vector3(0.034f, 0.017f, 0); gangCard2Rot = Quaternion.Euler(90, 180, 0); gangCard2 = CreatePengGangCard(id, handCardPrefab, gangCard2Pos, gangCard2Rot); gangCard3Pos = startPos + new Vector3(0.068f, 0.017f, 0); gangCard3Rot = Quaternion.Euler(90, 180, 0); gangCard3 = CreatePengGangCard(id, handCardPrefab, gangCard3Pos, gangCard3Rot); gangCard4Pos = startPos + new Vector3(0.102f, 0.017f, 0); gangCard4Rot = Quaternion.Euler(90, 180, 0); gangCard4 = CreatePengGangCard(id, handCardPrefab, gangCard4Pos, gangCard4Rot); startPos = gangCard4Pos; LastIsDarkGang = true; startPosOffset = gangCard4Pos - gangCard1Pos; return; } switch (nowPlay) { //如果杠的是下家 case OtherSeat.Down: if (LastIsDown || LastIsFace) { startPos += new Vector3(0.066f, 0, 0); startPosOffset += new Vector3(0.066f, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDown = false; LastIsFace = false; } else if (LastIsUp) { startPos += new Vector3(0.049f, 0, 0.017f); startPosOffset += new Vector3(0.049f, 0, 0.017f); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsUp = false; } else if (LastIsDarkGang) { startPos += new Vector3(0.066f, -0.017f, 0); startPosOffset += new Vector3(0.066f, -0.017f, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDarkGang = false; } //生成杠的第一张牌 gangCard1Pos = startPos + new Vector3(0, 0, -0.017f); gangCard1Rot = Quaternion.Euler(-90, 90, 0); gangCard1 = CreatePengGangCard(id, handCardPrefab, gangCard1Pos, gangCard1Rot); //生成杠的第二张牌 gangCard2Pos = startPos + new Vector3(0.017f, 0, 0); gangCard2Rot = Quaternion.Euler(-90, 0, 0); gangCard2 = CreatePengGangCard(id, handCardPrefab, gangCard2Pos, gangCard2Rot); //生成杠的第三张牌 gangCard3Pos = startPos + new Vector3(0.051f, 0, 0); gangCard3Rot = Quaternion.Euler(-90, 0, 0); gangCard3 = CreatePengGangCard(id, handCardPrefab, gangCard3Pos, gangCard3Rot); //生成杠的第四张牌 gangCard4Pos = startPos + new Vector3(0.085f, 0, 0); gangCard4Rot = Quaternion.Euler(-90, 0, 0); gangCard4 = CreatePengGangCard(id, handCardPrefab, gangCard4Pos, gangCard4Rot); startPos = gangCard4Pos; LastIsDown = true; startPosOffset = gangCard4Pos - gangCard1Pos; break; //如果杠的是对家 case OtherSeat.Face: if (LastIsDown || LastIsFace) { startPos += new Vector3(0.037f, 0, 0); startPosOffset += new Vector3(0.037f, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDown = false; LastIsFace = false; } else if (LastIsUp) { startPos += new Vector3(0.02f, 0, 0.017f); startPosOffset += new Vector3(0.02f, 0, 0.017f); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsUp = false; } else if (LastIsDarkGang) { startPos += new Vector3(0.037f, -0.017f, 0); startPosOffset += new Vector3(0.037f, -0.017f, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDarkGang = false; } gangCard1Pos = startPos; gangCard1Rot = Quaternion.Euler(-90, 0, 0); gangCard1 = CreatePengGangCard(id, handCardPrefab, gangCard1Pos, gangCard1Rot); gangCard2Pos = startPos + new Vector3(0.034f, 0, 0); gangCard2Rot = Quaternion.Euler(-90, 0, 0); gangCard2 = CreatePengGangCard(id, handCardPrefab, gangCard2Pos, gangCard2Rot); gangCard3Pos = startPos + new Vector3(0.097f, 0, -0.017f); gangCard3Rot = Quaternion.Euler(-90, 90, 0); gangCard3 = CreatePengGangCard(id, handCardPrefab, gangCard3Pos, gangCard3Rot); gangCard4Pos = startPos + new Vector3(0.114f, 0, 0); gangCard4Rot = Quaternion.Euler(-90, 0, 0); gangCard4 = CreatePengGangCard(id, handCardPrefab, gangCard4Pos, gangCard4Rot); startPos = gangCard4Pos; LastIsFace = true; startPosOffset = gangCard4Pos - gangCard1Pos; break; //如果杠的是上家 case OtherSeat.Up: if (LastIsDown || LastIsFace) { startPos += new Vector3(0.037f, 0, 0); startPosOffset += new Vector3(0.037f, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDown = false; LastIsFace = false; } else if (LastIsUp) { startPos += new Vector3(0.02f, 0, 0.017f); startPosOffset += new Vector3(0.02f, 0, 0.017f); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsUp = false; } else if (LastIsDarkGang) { startPos += new Vector3(0.037f, -0.017f, 0); startPosOffset += new Vector3(0.037f, -0.017f, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDarkGang = false; } gangCard1Pos = startPos; gangCard1Rot = Quaternion.Euler(-90, 0, 0); gangCard1 = CreatePengGangCard(id, handCardPrefab, gangCard1Pos, gangCard1Rot); gangCard2Pos = startPos + new Vector3(0.034f, 0, 0); gangCard2Rot = Quaternion.Euler(-90, 0, 0); gangCard2 = CreatePengGangCard(id, handCardPrefab, gangCard2Pos, gangCard2Rot); gangCard3Pos = startPos + new Vector3(0.068f, 0, 0); gangCard3Rot = Quaternion.Euler(-90, 0, 0); gangCard3 = CreatePengGangCard(id, handCardPrefab, gangCard3Pos, gangCard3Rot); gangCard4Pos = startPos + new Vector3(0.131f, 0, -0.017f); gangCard4Rot = Quaternion.Euler(-90, 90, 0); gangCard4 = CreatePengGangCard(id, handCardPrefab, gangCard4Pos, gangCard4Rot); startPos = gangCard4Pos; LastIsUp = true; startPosOffset = gangCard4Pos - gangCard1Pos; break; default: break; } }
public void Gang(OtherSeat nowPlay, int id, bool isDarkGang) { gang(nowPlay, id, isDarkGang); CreateGangHand(); }
/// <summary> /// 生成碰的三张牌 /// </summary> /// <param name="nowPlay"></param> /// <param name="id"></param> /// <param name="handCard"></param> void peng(OtherSeat nowPlay, int id) { switch (nowPlay) { //碰的是下家 case OtherSeat.Down: if (LastIsDown || LastIsFace) { startPos += new Vector3(0.066f, 0, 0); startPosOffset += new Vector3(0.066f, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); //更新碰时生成手动画的位置 createFx_PengGangPos = SetFx_PengGangPos(); //更新碰时特效生成位置 LastIsDown = false; LastIsFace = false; } else if (LastIsUp) { startPos += new Vector3(0.049f, 0, 0.017f); startPosOffset += new Vector3(0.049f, 0, 0.017f); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsUp = false; } else if (LastIsDarkGang) { startPos += new Vector3(0.066f, -0.017f, 0); startPosOffset += new Vector3(0.066f, -0.017f, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDarkGang = false; } //生成碰的第一张牌 pengCard1Pos = startPos + new Vector3(0, 0, -0.017f); pengCard1Rot = Quaternion.Euler(-90, 90, 0); pengCard1 = CreatePengGangCard(id, handCardPrefab, pengCard1Pos, pengCard1Rot); //生成碰的第二张牌 pengCard2Pos = startPos + new Vector3(0.017f, 0, 0); pengCard2Rot = Quaternion.Euler(-90, 0, 0); pengCard2 = CreatePengGangCard(id, handCardPrefab, pengCard2Pos, pengCard2Rot); //生成碰的第三张牌 pengCard3Pos = startPos + new Vector3(0.051f, 0, 0); pengCard3Rot = Quaternion.Euler(-90, 0, 0); pengCard3 = CreatePengGangCard(id, handCardPrefab, pengCard3Pos, pengCard3Rot); pengCardIdList.Add(id); pengCardPosList.Add(pengCard1Pos); startPos = pengCard3Pos; LastIsDown = true; startPosOffset = pengCard3Pos - pengCard1Pos; break; //碰的是对家 case OtherSeat.Face: if (LastIsDown || LastIsFace) { startPos += new Vector3(0.037f, 0, 0); startPosOffset += new Vector3(0.037f, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDown = false; LastIsFace = false; } else if (LastIsUp) { startPos += new Vector3(0.02f, 0, 0.017f); startPosOffset += new Vector3(0.02f, 0, 0.017f); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsUp = false; } else if (LastIsDarkGang) { startPos += new Vector3(0.037f, -0.017f, 0); startPosOffset += new Vector3(0.037f, -0.017f, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDarkGang = false; } pengCard1Pos = startPos; pengCard1Rot = Quaternion.Euler(-90, 0, 0); pengCard1 = CreatePengGangCard(id, handCardPrefab, pengCard1Pos, pengCard1Rot); pengCard2Pos = startPos + new Vector3(0.063f, 0, -0.017f); pengCard2Rot = Quaternion.Euler(-90, 90, 0); pengCard2 = CreatePengGangCard(id, handCardPrefab, pengCard2Pos, pengCard2Rot); pengCard3Pos = startPos + new Vector3(0.08f, 0, 0); pengCard3Rot = Quaternion.Euler(-90, 0, 0); pengCard3 = CreatePengGangCard(id, handCardPrefab, pengCard3Pos, pengCard3Rot); pengCardIdList.Add(id); pengCardPosList.Add(pengCard2Pos); startPos = pengCard3Pos; LastIsFace = true; startPosOffset = pengCard3Pos - pengCard1Pos; break; //碰的是上家 case OtherSeat.Up: if (LastIsDown || LastIsFace) { startPos += new Vector3(0.037f, 0, 0); startPosOffset += new Vector3(0.037f, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDown = false; LastIsFace = false; } else if (LastIsUp) { startPos += new Vector3(0.02f, 0, 0.017f); startPosOffset += new Vector3(0.02f, 0, 0.017f); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsUp = false; } else if (LastIsDarkGang) { startPos += new Vector3(0.037f, -0.017f, 0); startPosOffset += new Vector3(0.037f, -0.017f, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDarkGang = false; } pengCard1Pos = startPos; pengCard1Rot = Quaternion.Euler(-90, 0, 0); pengCard1 = CreatePengGangCard(id, handCardPrefab, pengCard1Pos, pengCard1Rot); pengCard2Pos = startPos + new Vector3(0.034f, 0, 0); pengCard2Rot = Quaternion.Euler(-90, 0, 0); pengCard2 = CreatePengGangCard(id, handCardPrefab, pengCard2Pos, pengCard2Rot); pengCard3Pos = startPos + new Vector3(0.097f, 0, -0.017f); pengCard3Rot = Quaternion.Euler(-90, 90, 0); pengCard3 = CreatePengGangCard(id, handCardPrefab, pengCard3Pos, pengCard3Rot); pengCardIdList.Add(id); pengCardPosList.Add(pengCard3Pos); startPos = pengCard3Pos; LastIsUp = true; startPosOffset = pengCard3Pos - pengCard1Pos; break; default: break; } }
/// <summary> /// 根据自身的位置获取方位 /// </summary> /// <returns></returns> OtherSeat GetSeat(int currentSeat) { OtherSeat seat = OtherSeat.None; switch (currentSeat) { case 1: { if (GameManager.m_instance.m_ProState.Equals(PlayerManager.m_instance.m_SouthPlayer)) { seat = OtherSeat.Down; } if (GameManager.m_instance.m_ProState.Equals(PlayerManager.m_instance.m_WestPlayer)) { seat = OtherSeat.Face; } if (GameManager.m_instance.m_ProState.Equals(PlayerManager.m_instance.m_NorthPlayer)) { seat = OtherSeat.Up; } break; } case 2: { if (GameManager.m_instance.m_ProState.Equals(PlayerManager.m_instance.m_EastPlayer)) { seat = OtherSeat.Up; } if (GameManager.m_instance.m_ProState.Equals(PlayerManager.m_instance.m_WestPlayer)) { seat = OtherSeat.Down; } if (GameManager.m_instance.m_ProState.Equals(PlayerManager.m_instance.m_NorthPlayer)) { seat = OtherSeat.Face; } break; } case 3: { if (GameManager.m_instance.m_ProState.Equals(PlayerManager.m_instance.m_EastPlayer)) { seat = OtherSeat.Face; } if (GameManager.m_instance.m_ProState.Equals(PlayerManager.m_instance.m_SouthPlayer)) { seat = OtherSeat.Up; } if (GameManager.m_instance.m_ProState.Equals(PlayerManager.m_instance.m_NorthPlayer)) { seat = OtherSeat.Down; } break; } case 4: { if (GameManager.m_instance.m_ProState.Equals(PlayerManager.m_instance.m_EastPlayer)) { seat = OtherSeat.Down; } if (GameManager.m_instance.m_ProState.Equals(PlayerManager.m_instance.m_SouthPlayer)) { seat = OtherSeat.Face; } if (GameManager.m_instance.m_ProState.Equals(PlayerManager.m_instance.m_WestPlayer)) { seat = OtherSeat.Up; } break; } } return(seat); }
void gang(OtherSeat nowPlay, int id, bool isDarkGang) { float off = 0.0252f; //如果是暗杠 if (isDarkGang) { if (LastIsUp || LastIsFace) { startPos += new Vector3(0 - offx - space, 0, 0); startPosOffset += new Vector3(0 - offx - space, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsUp = false; LastIsFace = false; } else if (LastIsDown) { startPos += new Vector3(0 - offy, 0, offx / 2); startPosOffset += new Vector3(0 - offy, 0, offx / 2); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDown = false; } else if (LastIsDarkGang) { startPos += new Vector3(0 - offx - space, 0, 0); startPosOffset += new Vector3(0 - offx - space, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDarkGang = false; } gangCard1Pos = startPos + new Vector3(0, off, 0); gangCard1Rot = Quaternion.Euler(90, 180, 0); gangCard1 = CreatePengGangCard(id, gangCard1Pos, gangCard1Rot); gangCard2Pos = startPos + new Vector3(0 - offx, off, 0); gangCard2Rot = Quaternion.Euler(90, 180, 0); gangCard2 = CreatePengGangCard(id, gangCard2Pos, gangCard2Rot); gangCard3Pos = startPos + new Vector3(0 - offx * 2, off, 0); gangCard3Rot = Quaternion.Euler(90, 180, 0); gangCard3 = CreatePengGangCard(id, gangCard3Pos, gangCard3Rot); gangCard4Pos = startPos + new Vector3(0 - offx * 3, 0, 0); gangCard4Rot = Quaternion.Euler(-90, 0, 0); gangCard4 = CreatePengGangCard(id, gangCard4Pos, gangCard4Rot); startPos = gangCard4Pos; LastIsDarkGang = true; startPosOffset = gangCard4Pos - gangCard1Pos; return; } switch (nowPlay) { case OtherSeat.Up: if (LastIsUp || LastIsFace) { startPos += new Vector3(0 - offy, 0, 0); startPosOffset += new Vector3(0 - offy, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsUp = false; LastIsFace = false; } else if (LastIsDown) { startPos += new Vector3(-0.1045f, 0, offx / 2); startPosOffset += new Vector3(-0.1045f, 0, offx / 2); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDown = false; } else if (LastIsDarkGang) { startPos += new Vector3(0 - offy, 0, 0); startPosOffset += new Vector3(0 - offy, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDarkGang = false; } //生成杠的第一张牌 gangCard1Pos = startPos + new Vector3(0, 0, 0 - offx / 2); gangCard1Rot = Quaternion.Euler(-90, -90, 0); gangCard1 = CreatePengGangCard(id, gangCard1Pos, gangCard1Rot); //生成杠的第二张牌 gangCard2Pos = startPos + new Vector3(0 - offx / 2, 0, 0); gangCard2Rot = Quaternion.Euler(-90, 0, 0); gangCard2 = CreatePengGangCard(id, gangCard2Pos, gangCard2Rot); //生成杠的第三张牌 gangCard3Pos = startPos + new Vector3(0 - offx * 3 / 2, 0, 0); gangCard3Rot = Quaternion.Euler(-90, 0, 0); gangCard3 = CreatePengGangCard(id, gangCard3Pos, gangCard3Rot); //生成杠的第四张牌 gangCard4Pos = startPos + new Vector3(0 - offx * 5 / 2, 0, 0); gangCard4Rot = Quaternion.Euler(-90, 0, 0); gangCard4 = CreatePengGangCard(id, gangCard4Pos, gangCard4Rot); startPos = gangCard4Pos; LastIsUp = true; startPosOffset = gangCard4Pos - gangCard1Pos; break; //如果杠的是对家 case OtherSeat.Face: if (LastIsUp || LastIsFace) { startPos += new Vector3(0 - offx - space, 0, 0); startPosOffset += new Vector3(0 - offx - space, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsUp = false; LastIsFace = false; } else if (LastIsDown) { startPos += new Vector3(0 - offy, 0, offx / 2); startPosOffset += new Vector3(0 - offy, 0, offx / 2); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDown = false; } else if (LastIsDarkGang) { startPos += new Vector3(0 - offx - space, 0, 0); startPosOffset += new Vector3(0 - offx - space, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDarkGang = false; } gangCard1Pos = startPos; gangCard1Rot = Quaternion.Euler(-90, 0, 0); gangCard1 = CreatePengGangCard(id, gangCard1Pos, gangCard1Rot); gangCard2Pos = startPos + new Vector3(0 - offx / 2, 0, 0 - offx / 2); gangCard2Rot = Quaternion.Euler(-90, 90, 0); gangCard2 = CreatePengGangCard(id, gangCard2Pos, gangCard2Rot); gangCard3Pos = startPos + new Vector3(-0.085f, 0, 0); gangCard3Rot = Quaternion.Euler(-90, 0, 0); gangCard3 = CreatePengGangCard(id, gangCard3Pos, gangCard3Rot); gangCard4Pos = startPos + new Vector3(-0.120f, 0, 0); gangCard4Rot = Quaternion.Euler(-90, 0, 0); gangCard4 = CreatePengGangCard(id, gangCard4Pos, gangCard4Rot); startPos = gangCard4Pos; LastIsFace = true; startPosOffset = gangCard4Pos - gangCard1Pos; break; case OtherSeat.Down: if (LastIsUp || LastIsFace) { startPos += new Vector3(0 - offx - space, 0, 0); startPosOffset += new Vector3(0 - offx - space, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsUp = false; LastIsFace = false; } else if (LastIsDown) { startPos += new Vector3(0 - offy, 0, offx / 2); startPosOffset += new Vector3(0 - offy, 0, offx / 2); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDown = false; } else if (LastIsDarkGang) { startPos += new Vector3(0 - offx - space, 0, 0); startPosOffset += new Vector3(0 - offx - space, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDarkGang = false; } gangCard1Pos = startPos; gangCard1Rot = Quaternion.Euler(-90, 0, 0); gangCard1 = CreatePengGangCard(id, gangCard1Pos, gangCard1Rot); gangCard2Pos = startPos + new Vector3(0 - offx, 0, 0); gangCard2Rot = Quaternion.Euler(-90, 0, 0); gangCard2 = CreatePengGangCard(id, gangCard2Pos, gangCard2Rot); gangCard3Pos = startPos + new Vector3(0 - offx * 2, 0, 0); gangCard3Rot = Quaternion.Euler(-90, 0, 0); gangCard3 = CreatePengGangCard(id, gangCard3Pos, gangCard3Rot); gangCard4Pos = startPos + new Vector3(0 - offx * 5 / 2, 0, 0 - offx / 2); gangCard4Rot = Quaternion.Euler(-90, 90, 0); gangCard4 = CreatePengGangCard(id, gangCard4Pos, gangCard4Rot); startPos = gangCard4Pos; LastIsDown = true; startPosOffset = gangCard4Pos - gangCard1Pos; break; default: break; } }
void peng(OtherSeat nowPlay, int id) { switch (nowPlay) { case OtherSeat.Up: if (LastIsUp || LastIsFace) { startPos += new Vector3(0 - offy, 0, 0); startPosOffset += new Vector3(0 - offy, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsUp = false; LastIsFace = false; } else if (LastIsDown) { startPos += new Vector3(-0.1045f, 0, offx / 2); startPosOffset += new Vector3(-0.1045f, 0, offx / 2); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDown = false; } else if (LastIsDarkGang) { startPos += new Vector3(0 - offy, 0, 0); startPosOffset += new Vector3(0 - offy, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDarkGang = false; } //生成碰的第一张牌 pengCard1Pos = startPos + new Vector3(0, 0, 0 - offx / 2); pengCard1Rot = Quaternion.Euler(-90, -90, 0); pengCard1 = CreatePengGangCard(id, pengCard1Pos, pengCard1Rot); //生成碰的第二张牌 pengCard2Pos = startPos + new Vector3(0 - offx / 2, 0, 0); pengCard2Rot = Quaternion.Euler(-90, 0, 0); pengCard2 = CreatePengGangCard(id, pengCard2Pos, pengCard2Rot); //生成碰的第三张牌 pengCard3Pos = startPos + new Vector3(0 - offx * 3 / 2, 0, 0); pengCard3Rot = Quaternion.Euler(-90, 0, 0); pengCard3 = CreatePengGangCard(id, pengCard3Pos, pengCard3Rot); pengCardIdList.Add(id); pengCardPosList.Add(pengCard1Pos); startPos = pengCard3Pos; LastIsUp = true; startPosOffset = pengCard3Pos - pengCard1Pos; break; //碰的是对家 case OtherSeat.Face: if (LastIsUp || LastIsFace) { startPos += new Vector3(0 - offx - space, 0, 0); startPosOffset += new Vector3(0 - offx - space, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsUp = false; LastIsFace = false; } else if (LastIsDown) { startPos += new Vector3(0 - offy, 0, offx / 2); startPosOffset += new Vector3(0 - offy, 0, offx / 2); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDown = false; } else if (LastIsDarkGang) { startPos += new Vector3(0 - offx - space, 0, 0); startPosOffset += new Vector3(0 - offx - space, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDarkGang = false; } pengCard1Pos = startPos; pengCard1Rot = Quaternion.Euler(-90, 0, 0); pengCard1 = CreatePengGangCard(id, pengCard1Pos, pengCard1Rot); pengCard2Pos = startPos + new Vector3(0 - offx / 2, 0, 0 - offx / 2); pengCard2Rot = Quaternion.Euler(-90, 90, 0); pengCard2 = CreatePengGangCard(id, pengCard2Pos, pengCard2Rot); pengCard3Pos = startPos + new Vector3(-0.085f, 0, 0); pengCard3Rot = Quaternion.Euler(-90, 0, 0); pengCard3 = CreatePengGangCard(id, pengCard3Pos, pengCard3Rot); pengCardIdList.Add(id); pengCardPosList.Add(pengCard2Pos); startPos = pengCard3Pos; LastIsFace = true; startPosOffset = pengCard3Pos - pengCard1Pos; break; case OtherSeat.Down: if (LastIsUp || LastIsFace) { startPos += new Vector3(0 - offx - space, 0, 0); startPosOffset += new Vector3(0 - offx - space, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsUp = false; LastIsFace = false; } else if (LastIsDown) { startPos += new Vector3(0 - offy, 0, offx / 2); startPosOffset += new Vector3(0 - offy, 0, offx / 2); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDown = false; } else if (LastIsDarkGang) { startPos += new Vector3(0 - offx - space, 0, 0); startPosOffset += new Vector3(0 - offx - space, 0, 0); createHandPos = SetPengGangAnimSpawnPos(); createFx_PengGangPos = SetFx_PengGangPos(); LastIsDarkGang = false; } pengCard1Pos = startPos; pengCard1Rot = Quaternion.Euler(-90, 0, 0); pengCard1 = CreatePengGangCard(id, pengCard1Pos, pengCard1Rot); pengCard2Pos = startPos + new Vector3(0 - offx, 0, 0); pengCard2Rot = Quaternion.Euler(-90, 0, 0); pengCard2 = CreatePengGangCard(id, pengCard2Pos, pengCard2Rot); pengCard3Pos = startPos + new Vector3(0 - offx * 1.5f, 0, 0 - offx / 2); pengCard3Rot = Quaternion.Euler(-90, 90, 0); pengCard3 = CreatePengGangCard(id, pengCard3Pos, pengCard3Rot); pengCardIdList.Add(id); pengCardPosList.Add(pengCard3Pos); startPos = pengCard3Pos; LastIsDown = true; startPosOffset = pengCard3Pos - pengCard1Pos; break; default: break; } }