private void RPC_Turn(int turn, int countTile1, int countTile2) { PlayerInTurn = turn; countTilesPlayer1 = countTile1; countTilesPlayer2 = countTile2; if (PhotonNetwork.LocalPlayer == PhotonNetwork.MasterClient) { textCountTiles.text = countTile2 + " fichas"; } else { textCountTiles.text = countTile1 + " fichas"; } if (PhotonNetwork.LocalPlayer == PhotonNetwork.MasterClient && PlayerInTurn == 1 || PhotonNetwork.LocalPlayer != PhotonNetwork.MasterClient && PlayerInTurn != 1) { msg.text = "Coloque una ficha"; panelPlayer.transform.GetComponent <Image>().sprite = listImgPlayerTurn[1];; textInTurn.SetActive(false); textNext.SetActive(true); int countTiletoPut = 0; for (int i = 0; i < fichasPlayer1List.Count; i++) { FichaDosJugadoresOnline ficha = fichasPlayer1List[i].GetComponent <FichaDosJugadoresOnline>(); if (!ficha.onTable) { if (ficha.pointDown == countLeft || ficha.pointDown == countRight || ficha.pointUp == countLeft || ficha.pointUp == countRight) { GameObject childTile = fichasPlayer1List[i].transform.GetChild(0).gameObject; childTile.GetComponent <SpriteRenderer>().sprite = fichasPlayer1List[i].GetComponent <FichaDosJugadoresOnline>().backsTile[1]; countTiletoPut++; } else { fichasPlayer1List[i].GetComponent <SpriteRenderer>().sprite = ficha.backsTile[0]; } } } if (countTiletoPut == 0) { msg.text = "No tienes fichas para jugar"; classGeneral.tocToc.Play(); countPase++; PV.RPC("RPC_CountPase", RpcTarget.Others, countPase); ValidateEnd(); Invoke(nameof(ChangeTurn), 2); } } if (PhotonNetwork.LocalPlayer == PhotonNetwork.MasterClient && PlayerInTurn != 1 || PhotonNetwork.LocalPlayer != PhotonNetwork.MasterClient && PlayerInTurn == 1) { msg.text = "Espere su turno"; panelPlayer.transform.GetComponent <Image>().sprite = listImgPlayerTurn[0];; textInTurn.SetActive(true); textNext.SetActive(false); } }
public void MovedTile(GameObject nextTile) { FichaDosJugadoresOnline tile = nextTile.GetComponent <FichaDosJugadoresOnline>(); if (classMatch.tileLeft == nextTile && colliderWall1) { if (doble) { StartCoroutine(RotTile(90, 90, -1.9f, 0, nextTile)); } else { StartCoroutine(RotTile(90, 90, -1.45f, 0.45f, nextTile)); } return; } if (classMatch.tileLeft == nextTile && colliderWall2) { if (doble) { StartCoroutine(RotTile(-90, 90, -1.9f, 0, nextTile)); } else { StartCoroutine(RotTile(-90, 90, -1.45f, -0.45f, nextTile)); } return; } if (classMatch.tileRight == nextTile && colliderWall1) { if (doble) { StartCoroutine(RotTile(-90, 90, 1.9f, 0, nextTile)); } else { StartCoroutine(RotTile(-90, 90, 1.45f, 0.45f, nextTile)); } return; } if (classMatch.tileRight == nextTile && colliderWall2) { if (doble) { StartCoroutine(RotTile(90, 90, 1.9f, 0, nextTile)); } else { StartCoroutine(RotTile(90, 90, 1.45f, -0.45f, nextTile)); } } }
public void RPC_RotTile(int Up, int Down, int TableUp, int TableDown, int z, int x, float valueX, float valueZ) { FindTile(Up, Down, false); FindTile(TableUp, TableDown, true); FichaDosJugadoresOnline tile = currentTile.GetComponent <FichaDosJugadoresOnline>(); if (!tile.doble) { var angles = currentTile.transform.rotation.eulerAngles; angles.x = x; angles.z = z; currentTile.transform.rotation = Quaternion.Euler(angles); } pos = new Vector3(tableTile.transform.position.x + valueX, tableTile.transform.position.y, tableTile.transform.position.z + valueZ); StartCoroutine(Movement(currentTile, false)); }
public void AuxStartGame(GameObject ficha, int turn) { if (ficha.GetComponent <FichaDosJugadoresOnline>().player == 1) { countTilesPlayer1--; } if (ficha.GetComponent <FichaDosJugadoresOnline>().player == 2) { countTilesPlayer2--; } PlayerInTurn = turn; ChangePanelPlayers(); FichaDosJugadoresOnline tile = ficha.GetComponent <FichaDosJugadoresOnline>(); tile.classMetodosOthers.StartMov(tile.pointUp, tile.pointDown); }
public void RPC_MoveDoble(int Up, int Down, int TableUp, int TableDown, int a, bool collider1, bool collider2) { FindTile(Up, Down, false); FindTile(TableUp, TableDown, true); FichaDosJugadoresOnline tile = currentTile.GetComponent <FichaDosJugadoresOnline>(); FichaDosJugadoresOnline tileInTable = tableTile.GetComponent <FichaDosJugadoresOnline>(); tileInTable.colliderWall1 = collider1; tileInTable.colliderWall2 = collider2; tile.inverse = !tile.inverse; if (a == 180) { a = 0; } if (a == 0) { a = 180; } if (classMatch.tileLeft == currentTile && tileInTable.colliderWall1 || classMatch.tileRight == currentTile && tileInTable.colliderWall1) { pos = new Vector3(tableTile.transform.position.x, tableTile.transform.position.y, tableTile.transform.position.z - 1.9f); } if (classMatch.tileLeft == currentTile && tileInTable.colliderWall2 || classMatch.tileRight == currentTile && tileInTable.colliderWall2) { pos = new Vector3(tableTile.transform.position.x, tableTile.transform.position.y, tableTile.transform.position.z + 1.9f); } var angl = currentTile.transform.rotation.eulerAngles; angl.z = a; angl.x = 90; currentTile.transform.rotation = Quaternion.Euler(angl); StartCoroutine(Movement(currentTile, false)); }
public void RPC_Move(int Up, int Down, int TableUp, int TableDown, int a, float mov, bool collider1, bool collider2) { FindTile(Up, Down, false); FindTile(TableUp, TableDown, true); FichaDosJugadoresOnline tile = currentTile.GetComponent <FichaDosJugadoresOnline>(); FichaDosJugadoresOnline tileInTable = tableTile.GetComponent <FichaDosJugadoresOnline>(); tileInTable.colliderWall1 = collider1; tileInTable.colliderWall2 = collider2; if (a == 180) { tile.inverse = true; } tile.onTable = true; classMatch.countPase = 0; currentTile.transform.SetParent(classMatch.table.transform); currentTile.transform.localScale = new Vector3(0.7f, 0.7f, 1); var angles = currentTile.transform.rotation.eulerAngles; angles.y = a; angles.x = 90; currentTile.transform.rotation = Quaternion.Euler(angles); pos = new Vector3(tableTile.transform.position.x, tableTile.transform.position.y, tableTile.transform.position.z + mov); if (collider1 && tileInTable.nocollider == false || collider2 && tileInTable.nocollider == false) { tile.nocollider = true; tile.moved = true; if (collider1) { tile.colliderWall1 = true; } if (collider2) { tile.colliderWall2 = true; } return; } if (tileInTable.moved) { if (collider1) { tile.colliderWall1 = true; } if (collider2) { tile.colliderWall2 = true; } tile.nocollider = true; if (tile.doble) { tile.movedDoble = true; } return; } if (tileInTable.movedDoble) { if (collider1) { tile.colliderWall1 = true; } if (collider2) { tile.colliderWall2 = true; } tile.nocollider = true; return; } StartCoroutine(Movement(currentTile, false)); }
public void RPC_MovNexTile(int Up, int Down, int TableUp, int TableDown) { FindTile(Up, Down, false); FindTile(TableUp, TableDown, true); FichaDosJugadoresOnline tile = currentTile.GetComponent <FichaDosJugadoresOnline>(); FichaDosJugadoresOnline tileInTable = tableTile.GetComponent <FichaDosJugadoresOnline>(); if (tableTile.transform.gameObject == classMatch.firstTile) { if (!tileInTable.closedUp && tileInTable.pointUp == tile.pointDown) { tileInTable.closedUp = true; tile.closedDown = true; classMatch.countLeft = tile.pointUp; classMatch.tileLeft = currentTile; return; } if (!tileInTable.closedUp && tileInTable.pointUp == tile.pointUp) { tileInTable.closedUp = true; tile.closedUp = true; classMatch.countLeft = tile.pointDown; classMatch.tileLeft = currentTile; return; } if (!tileInTable.closedDown && tileInTable.pointDown == tile.pointUp) { tileInTable.closedDown = true; tile.closedUp = true; classMatch.tileRight = currentTile; classMatch.countRight = tile.pointDown; return; } if (!tileInTable.closedDown && tileInTable.pointDown == tile.pointDown) { tileInTable.closedDown = true; tile.closedDown = true; classMatch.tileRight = currentTile; classMatch.countRight = tile.pointUp; } } else { if (!tileInTable.closedUp && !tileInTable.inverse && !tileInTable.doble && tileInTable.pointUp == tile.pointDown) { tileInTable.closedUp = true; tile.closedDown = true; if (classMatch.tileLeft == tableTile) { classMatch.countLeft = tile.pointUp; classMatch.tileLeft = currentTile; } else { classMatch.tileRight = currentTile; classMatch.countRight = tile.pointUp; } return; } if (!tileInTable.closedDown && tileInTable.inverse && !tileInTable.doble && tileInTable.pointDown == tile.pointDown) { tileInTable.closedDown = true; tile.closedDown = true; if (classMatch.tileLeft == tableTile) { classMatch.countLeft = tile.pointUp; classMatch.tileLeft = currentTile; } else { classMatch.tileRight = currentTile; classMatch.countRight = tile.pointUp; } return; } if (!tileInTable.closedDown && !tileInTable.inverse && !tileInTable.doble && tileInTable.pointDown == tile.pointUp) { tileInTable.closedDown = true; tile.closedUp = true; if (classMatch.tileLeft == tableTile) { classMatch.countLeft = tile.pointDown; classMatch.tileLeft = currentTile; } else { classMatch.tileRight = currentTile; classMatch.countRight = tile.pointDown; } return; } if (!tileInTable.closedUp && tileInTable.inverse && !tileInTable.doble && tileInTable.pointUp == tile.pointUp) { tileInTable.closedUp = true; tile.closedUp = true; if (classMatch.tileLeft == tableTile) { classMatch.countLeft = tile.pointDown; classMatch.tileLeft = currentTile; } else { classMatch.tileRight = currentTile; classMatch.countRight = tile.pointDown; } return; } if (!tileInTable.closedUp && !tileInTable.inverse && !tileInTable.doble && tileInTable.pointUp == tile.pointUp) { tileInTable.closedUp = true; tile.closedUp = true; if (classMatch.tileLeft == tableTile) { classMatch.countLeft = tile.pointDown; classMatch.tileLeft = currentTile; } else { classMatch.tileRight = currentTile; classMatch.countRight = tile.pointDown; } return; } if (!tileInTable.closedDown && tileInTable.inverse && !tileInTable.doble && tileInTable.pointDown == tile.pointUp) { tileInTable.closedDown = true; tile.closedUp = true; if (classMatch.tileLeft == tableTile) { classMatch.countLeft = tile.pointDown; classMatch.tileLeft = currentTile; } else { classMatch.tileRight = currentTile; classMatch.countRight = tile.pointDown; } return; } if (!tileInTable.closedDown && !tileInTable.inverse && !tileInTable.doble && tileInTable.pointDown == tile.pointDown) { tileInTable.closedDown = true; tile.closedDown = true; if (classMatch.tileLeft == tableTile) { classMatch.countLeft = tile.pointUp; classMatch.tileLeft = currentTile; } else { classMatch.tileRight = currentTile; classMatch.countRight = tile.pointUp; } return; } if (!tileInTable.closedUp && tileInTable.inverse && !tileInTable.doble && tileInTable.pointUp == tile.pointDown) { tileInTable.closedUp = true; tile.closedDown = true; if (classMatch.tileLeft == tableTile) { classMatch.countLeft = tile.pointUp; classMatch.tileLeft = currentTile; } else { classMatch.tileRight = currentTile; classMatch.countRight = tile.pointUp; } return; } if (!tileInTable.closedUp && tileInTable.doble && tileInTable.pointUp == tile.pointDown) { tileInTable.closedUp = true; tile.closedDown = true; if (classMatch.tileLeft == tableTile) { classMatch.countLeft = tile.pointUp; classMatch.tileLeft = currentTile; } else { classMatch.tileRight = currentTile; classMatch.countRight = tile.pointUp; } return; } if (!tileInTable.closedDown && tileInTable.doble && tileInTable.pointDown == tile.pointUp) { tileInTable.closedDown = true; tile.closedUp = true; if (classMatch.tileLeft == tableTile) { classMatch.countLeft = tile.pointDown; classMatch.tileLeft = currentTile; } else { classMatch.tileRight = currentTile; classMatch.countRight = tile.pointDown; } return; } if (!tileInTable.closedUp && tileInTable.doble && tileInTable.pointUp == tile.pointUp) { tileInTable.closedUp = true; tile.closedUp = true; if (classMatch.tileLeft == tableTile) { classMatch.countLeft = tile.pointDown; classMatch.tileLeft = currentTile; } else { classMatch.tileRight = currentTile; classMatch.countRight = tile.pointDown; } return; } if (!tileInTable.closedDown && tileInTable.doble && tileInTable.pointDown == tile.pointDown) { tileInTable.closedDown = true; tile.closedDown = true; if (classMatch.tileLeft == tableTile) { classMatch.countLeft = tile.pointUp; classMatch.tileLeft = currentTile; } else { classMatch.tileRight = currentTile; classMatch.countRight = tile.pointUp; } } } }
public IEnumerator MoveDoble(GameObject nextTile, int a) { if (classMatch.PlayerInTurn == 1 && PhotonNetwork.LocalPlayer == PhotonNetwork.MasterClient || classMatch.PlayerInTurn == 2 && PhotonNetwork.LocalPlayer != PhotonNetwork.MasterClient) { classMetodosOthers.PV.RPC("RPC_MoveDoble", RpcTarget.Others, nextTile.GetComponent <FichaDosJugadoresOnline>().pointUp, nextTile.GetComponent <FichaDosJugadoresOnline>().pointDown, pointUp, pointDown, a, colliderWall1, colliderWall2); FichaDosJugadoresOnline tile = nextTile.GetComponent <FichaDosJugadoresOnline>(); tile.inverse = !tile.inverse; if (a == 180) { a = 0; } if (a == 0) { a = 180; } if (classMatch.tileLeft == nextTile && colliderWall1 || classMatch.tileRight == nextTile && colliderWall1) { pos = new Vector3(transform.position.x, transform.position.y, transform.position.z - 1.9f); } if (classMatch.tileLeft == nextTile && colliderWall2 || classMatch.tileRight == nextTile && colliderWall2) { pos = new Vector3(transform.position.x, transform.position.y, transform.position.z + 1.9f); } var angl = nextTile.transform.rotation.eulerAngles; angl.z = a; angl.x = 90; nextTile.transform.rotation = Quaternion.Euler(angl); float normalizedTime = 0.0f; classMatch.classGeneral.putTile.Play(); while (normalizedTime < 1) { nextTile.transform.position = Vector3.Lerp(nextTile.transform.position, pos, normalizedTime); normalizedTime += Time.deltaTime / duration; yield return(null); } nextTile.transform.position = pos; if (classMatch.PlayerInTurn == 1 && PhotonNetwork.LocalPlayer == PhotonNetwork.MasterClient || classMatch.PlayerInTurn == 2 && PhotonNetwork.LocalPlayer != PhotonNetwork.MasterClient) { classMatch.ChangeTilesToNormal(); } yield return(new WaitForSeconds(1f)); classMatch.noPlay = false; MatchDates.Instance.selectedFicha = null; classMatch.ValidateEnd(); classMatch.ChangeTurn(); } }
private void OnMouseUpAsButton() { if (PhotonNetwork.PlayerList.Length == 2) { if (!classMatch.pause && !classMatch.panelOpened) { if (!onTable && classMatch.PlayerInTurn == 1 && !classMatch.noPlay && PhotonNetwork.LocalPlayer == PhotonNetwork.MasterClient || !onTable && classMatch.PlayerInTurn == 2 && !classMatch.noPlay && PhotonNetwork.LocalPlayer != PhotonNetwork.MasterClient) { if (classMatch.startPlayer) { classMatch.noPlay = true; classMatch.startPlayer = false; if (player == 1) { classMatch.countTilesPlayer1--; classMatch.ChangeTilesToNormal(); } if (player == 2) { classMatch.countTilesPlayer2--; } classMetodosOthers.PV.RPC("RPC_StartMov", RpcTarget.All, pointUp, pointDown, classMatch.PlayerInTurn, classMatch.countTilesPlayer1, classMatch.countTilesPlayer2); } else { GameObject childTileRight = classMatch.tileRight.transform.GetChild(0).gameObject; childTileRight.GetComponent <SpriteRenderer>().sprite = classMatch.tileRight.GetComponent <FichaDosJugadoresOnline>().backsTile[0]; GameObject childTileLeft = classMatch.tileLeft.transform.GetChild(0).gameObject; childTileLeft.GetComponent <SpriteRenderer>().sprite = classMatch.tileLeft.GetComponent <FichaDosJugadoresOnline>().backsTile[0]; bool left = false; bool right = false; if (pointDown == classMatch.countLeft || pointUp == classMatch.countLeft) { GameObject tileLeft = classMatch.tileLeft.transform.GetChild(0).gameObject; tileLeft.GetComponent <SpriteRenderer>().sprite = classMatch.tileLeft.GetComponent <FichaDosJugadoresOnline>().backsTile[1]; left = true; } if (pointDown == classMatch.countRight || pointUp == classMatch.countRight) { GameObject tileRight = classMatch.tileRight.transform.GetChild(0).gameObject; tileRight.GetComponent <SpriteRenderer>().sprite = classMatch.tileRight.GetComponent <FichaDosJugadoresOnline>().backsTile[1]; right = true; } if (!right && left || right && !left) { classMatch.noPlay = true; classMatch.capicua = false; if (PhotonNetwork.LocalPlayer == PhotonNetwork.MasterClient) { classMatch.countTilesPlayer1--; } else { classMatch.countTilesPlayer2--; } GameObject childTileRight1 = classMatch.tileRight.transform.GetChild(0).gameObject; childTileRight1.GetComponent <SpriteRenderer>().sprite = classMatch.tileRight.GetComponent <FichaDosJugadoresOnline>().backsTile[0]; GameObject childTileLeft2 = classMatch.tileLeft.transform.GetChild(0).gameObject; childTileLeft2.GetComponent <SpriteRenderer>().sprite = classMatch.tileLeft.GetComponent <FichaDosJugadoresOnline>().backsTile[0]; MatchDates.Instance.selectedFicha = transform.gameObject; if (left) { classMatch.tileLeft.GetComponent <FichaDosJugadoresOnline>().MovNexTile(transform.gameObject); } else { classMatch.tileRight.GetComponent <FichaDosJugadoresOnline>().MovNexTile(transform.gameObject); } } if (classMatch.countLeft == classMatch.countRight && left && right && classMatch.tileLeft != classMatch.tileRight) { classMatch.noPlay = true; classMatch.capicua = false; if (PhotonNetwork.LocalPlayer == PhotonNetwork.MasterClient) { classMatch.countTilesPlayer1--; } else { classMatch.countTilesPlayer2--; } GameObject childTileRight1 = classMatch.tileRight.transform.GetChild(0).gameObject; childTileRight1.GetComponent <SpriteRenderer>().sprite = classMatch.tileRight.GetComponent <FichaDosJugadoresOnline>().backsTile[0]; GameObject childTileLeft2 = classMatch.tileLeft.transform.GetChild(0).gameObject; childTileLeft2.GetComponent <SpriteRenderer>().sprite = classMatch.tileLeft.GetComponent <FichaDosJugadoresOnline>().backsTile[0]; MatchDates.Instance.selectedFicha = transform.gameObject; classMatch.tileRight.GetComponent <FichaDosJugadoresOnline>().MovNexTile(transform.gameObject); } if (left || right) { if (classMatch.tileLeft == classMatch.tileRight) { classMatch.noPlay = true; classMatch.capicua = false; if (PhotonNetwork.LocalPlayer == PhotonNetwork.MasterClient) { classMatch.countTilesPlayer1--; } else { classMatch.countTilesPlayer2--; } GameObject childFirstTile = classMatch.firstTile.transform.GetChild(0).gameObject; childFirstTile.GetComponent <SpriteRenderer>().sprite = classMatch.firstTile.GetComponent <FichaDosJugadoresOnline>().backsTile[0]; MatchDates.Instance.selectedFicha = transform.gameObject; classMatch.firstTile.GetComponent <FichaDosJugadoresOnline>().MovNexTile(transform.gameObject); } } if (MatchDates.Instance.selectedFicha == null && left && right) { MatchDates.Instance.selectedFicha = transform.gameObject; } } } else if (onTable && classMatch.PlayerInTurn == 1 && PhotonNetwork.LocalPlayer == PhotonNetwork.MasterClient && MatchDates.Instance.selectedFicha != null || onTable && classMatch.PlayerInTurn == 2 && PhotonNetwork.LocalPlayer != PhotonNetwork.MasterClient && MatchDates.Instance.selectedFicha != null) { if (transform.gameObject == classMatch.tileLeft || transform.gameObject == classMatch.tileRight) { classMatch.classGeneral.putTile.Play(); classMatch.noPlay = true; GameObject childTileRight = classMatch.tileRight.transform.GetChild(0).gameObject; childTileRight.GetComponent <SpriteRenderer>().sprite = classMatch.tileRight.GetComponent <FichaDosJugadoresOnline>().backsTile[0]; GameObject childTileLeft = classMatch.tileLeft.transform.GetChild(0).gameObject; childTileLeft.GetComponent <SpriteRenderer>().sprite = classMatch.tileLeft.GetComponent <FichaDosJugadoresOnline>().backsTile[0]; FichaDosJugadoresOnline selectedFicha = MatchDates.Instance.selectedFicha.GetComponent <FichaDosJugadoresOnline>(); classMatch.capicua = false; if (selectedFicha.pointDown == classMatch.countLeft && selectedFicha.pointUp == classMatch.countRight || selectedFicha.pointDown == classMatch.countRight && selectedFicha.pointUp == classMatch.countLeft) { classMatch.capicua = true; } if (PhotonNetwork.LocalPlayer == PhotonNetwork.MasterClient) { classMatch.countTilesPlayer1--; } else { classMatch.countTilesPlayer2--; } MovNexTile(MatchDates.Instance.selectedFicha); } } } } }
public IEnumerator Move(GameObject ficha, int a, float mov) { FichaDosJugadoresOnline tile = ficha.GetComponent <FichaDosJugadoresOnline>(); if (classMatch.PlayerInTurn == 1 && PhotonNetwork.LocalPlayer == PhotonNetwork.MasterClient || classMatch.PlayerInTurn == 2 && PhotonNetwork.LocalPlayer != PhotonNetwork.MasterClient) { classMetodosOthers.PV.RPC("RPC_Move", RpcTarget.Others, tile.pointUp, tile.pointDown, pointUp, pointDown, a, mov, colliderWall1, colliderWall2); if (a == 180) { tile.inverse = true; } tile.onTable = true; classMatch.countPase = 0; ficha.transform.SetParent(classMatch.table.transform); ficha.transform.localScale = new Vector3(0.7f, 0.7f, 1); var angles = ficha.transform.rotation.eulerAngles; angles.y = a; angles.x = 90; ficha.transform.rotation = Quaternion.Euler(angles); pos = new Vector3(transform.position.x, transform.position.y, transform.position.z + mov); if (colliderWall1 && nocollider == false || colliderWall2 && nocollider == false) { tile.nocollider = true; tile.moved = true; if (colliderWall1) { tile.colliderWall1 = true; } if (colliderWall2) { tile.colliderWall2 = true; } MovedTile(ficha); yield break; } if (moved) { if (colliderWall1) { tile.colliderWall1 = true; } if (colliderWall2) { tile.colliderWall2 = true; } tile.nocollider = true; if (tile.doble) { tile.movedDoble = true; } StartCoroutine(TurnTile(ficha, a)); yield break; } if (movedDoble) { if (colliderWall1) { tile.colliderWall1 = true; } if (colliderWall2) { tile.colliderWall2 = true; } tile.nocollider = true; StartCoroutine(MoveDoble(ficha, a)); yield break; } float normalizedTime = 0.0f; classMatch.classGeneral.putTile.Play(); while (normalizedTime < 1) { ficha.transform.position = Vector3.Lerp(ficha.transform.position, pos, normalizedTime); normalizedTime += Time.deltaTime / duration; yield return(null); } ficha.transform.position = pos; classMatch.ChangeTilesToNormal(); yield return(new WaitForSeconds(1f)); classMatch.noPlay = false; MatchDates.Instance.selectedFicha = null; classMatch.ValidateEnd(); classMatch.ChangeTurn(); } }
public void MovNexTile(GameObject nextTile) // ficha del jugador. Este método lo hace la ficha de la mesa { if (classMatch.PlayerInTurn == 1 && PhotonNetwork.LocalPlayer == PhotonNetwork.MasterClient || classMatch.PlayerInTurn == 2 && PhotonNetwork.LocalPlayer != PhotonNetwork.MasterClient) { FichaDosJugadoresOnline tile = nextTile.GetComponent <FichaDosJugadoresOnline>(); classMetodosOthers.PV.RPC("RPC_MovNexTile", RpcTarget.Others, tile.pointUp, tile.pointDown, pointUp, pointDown); if (transform.gameObject == classMatch.firstTile) { if (!closedUp && pointUp == tile.pointDown) { closedUp = true; tile.closedDown = true; classMatch.countLeft = tile.pointUp; classMatch.tileLeft = nextTile; if (tile.doble && !doble) { StartCoroutine(Move(nextTile, 90, 1.45f)); } if (!tile.doble && !doble) { StartCoroutine(Move(nextTile, 0, 1.9f)); } if (!tile.doble && doble) { StartCoroutine(Move(nextTile, 0, 1.45f)); } return; } if (!closedUp && pointUp == tile.pointUp) { closedUp = true; tile.closedUp = true; classMatch.countLeft = tile.pointDown; classMatch.tileLeft = nextTile; if (tile.doble && !doble) { StartCoroutine(Move(nextTile, 90, 1.45f)); } if (!tile.doble && !doble) { StartCoroutine(Move(nextTile, 180, 1.9f)); } if (!tile.doble && doble) { StartCoroutine(Move(nextTile, 180, 1.45f)); } return; } if (!closedDown && pointDown == tile.pointUp) { closedDown = true; tile.closedUp = true; classMatch.tileRight = nextTile; classMatch.countRight = tile.pointDown; if (tile.doble && !doble) { StartCoroutine(Move(nextTile, 90, -1.45f)); } if (!tile.doble && !doble) { StartCoroutine(Move(nextTile, 0, -1.9f)); } if (!tile.doble && doble) { StartCoroutine(Move(nextTile, 0, -1.45f)); } return; } if (!closedDown && pointDown == tile.pointDown) { closedDown = true; tile.closedDown = true; classMatch.tileRight = nextTile; classMatch.countRight = tile.pointUp; if (tile.doble && !doble) { StartCoroutine(Move(nextTile, 90, -1.45f)); } if (!tile.doble && !doble) { StartCoroutine(Move(nextTile, 180, -1.9f)); } if (!tile.doble && doble) { StartCoroutine(Move(nextTile, 180, -1.45f)); } } } else { if (!closedUp && !inverse && !doble && pointUp == tile.pointDown) { closedUp = true; tile.closedDown = true; if (classMatch.tileLeft == transform.gameObject) { classMatch.countLeft = tile.pointUp; classMatch.tileLeft = nextTile; } else { classMatch.tileRight = nextTile; classMatch.countRight = tile.pointUp; } if (tile.doble) { StartCoroutine(Move(nextTile, 90, 1.45f)); } else { StartCoroutine(Move(nextTile, 0, 1.9f)); } return; } if (!closedDown && inverse && !doble && pointDown == tile.pointDown) { closedDown = true; tile.closedDown = true; if (classMatch.tileLeft == transform.gameObject) { classMatch.countLeft = tile.pointUp; classMatch.tileLeft = nextTile; } else { classMatch.tileRight = nextTile; classMatch.countRight = tile.pointUp; } if (tile.doble) { StartCoroutine(Move(nextTile, 90, 1.45f)); } else { StartCoroutine(Move(nextTile, 0, 1.9f)); } return; } if (!closedDown && !inverse && !doble && pointDown == tile.pointUp) { closedDown = true; tile.closedUp = true; if (classMatch.tileLeft == transform.gameObject) { classMatch.countLeft = tile.pointDown; classMatch.tileLeft = nextTile; } else { classMatch.tileRight = nextTile; classMatch.countRight = tile.pointDown; } if (tile.doble) { StartCoroutine(Move(nextTile, 90, -1.45f)); } else { StartCoroutine(Move(nextTile, 0, -1.9f)); } return; } if (!closedUp && inverse && !doble && pointUp == tile.pointUp) { closedUp = true; tile.closedUp = true; if (classMatch.tileLeft == transform.gameObject) { classMatch.countLeft = tile.pointDown; classMatch.tileLeft = nextTile; } else { classMatch.tileRight = nextTile; classMatch.countRight = tile.pointDown; } if (tile.doble) { StartCoroutine(Move(nextTile, 90, -1.45f)); } else { StartCoroutine(Move(nextTile, 0, -1.9f)); } return; } if (!closedUp && !inverse && !doble && pointUp == tile.pointUp) { closedUp = true; tile.closedUp = true; if (classMatch.tileLeft == transform.gameObject) { classMatch.countLeft = tile.pointDown; classMatch.tileLeft = nextTile; } else { classMatch.tileRight = nextTile; classMatch.countRight = tile.pointDown; } if (tile.doble) { StartCoroutine(Move(nextTile, 90, 1.45f)); } else { StartCoroutine(Move(nextTile, 180, 1.9f)); } return; } if (!closedDown && inverse && !doble && pointDown == tile.pointUp) { closedDown = true; tile.closedUp = true; if (classMatch.tileLeft == transform.gameObject) { classMatch.countLeft = tile.pointDown; classMatch.tileLeft = nextTile; } else { classMatch.tileRight = nextTile; classMatch.countRight = tile.pointDown; } if (tile.doble) { StartCoroutine(Move(nextTile, 90, 1.45f)); } else { StartCoroutine(Move(nextTile, 180, 1.9f)); } return; } if (!closedDown && !inverse && !doble && pointDown == tile.pointDown) { closedDown = true; tile.closedDown = true; if (classMatch.tileLeft == transform.gameObject) { classMatch.countLeft = tile.pointUp; classMatch.tileLeft = nextTile; } else { classMatch.tileRight = nextTile; classMatch.countRight = tile.pointUp; } if (tile.doble) { StartCoroutine(Move(nextTile, 90, -1.45f)); } else { StartCoroutine(Move(nextTile, 180, -1.9f)); } return; } if (!closedUp && inverse && !doble && pointUp == tile.pointDown) { closedUp = true; tile.closedDown = true; if (classMatch.tileLeft == transform.gameObject) { classMatch.countLeft = tile.pointUp; classMatch.tileLeft = nextTile; } else { classMatch.tileRight = nextTile; classMatch.countRight = tile.pointUp; } if (tile.doble) { StartCoroutine(Move(nextTile, 90, -1.45f)); } else { StartCoroutine(Move(nextTile, 180, -1.9f)); } return; } if (!closedUp && doble && pointUp == tile.pointDown) { closedUp = true; tile.closedDown = true; if (classMatch.tileLeft == transform.gameObject) { classMatch.countLeft = tile.pointUp; classMatch.tileLeft = nextTile; } else { classMatch.tileRight = nextTile; classMatch.countRight = tile.pointUp; } StartCoroutine(Move(nextTile, 0, 1.45f)); return; } if (!closedDown && doble && pointDown == tile.pointUp) { closedDown = true; tile.closedUp = true; if (classMatch.tileLeft == transform.gameObject) { classMatch.countLeft = tile.pointDown; classMatch.tileLeft = nextTile; } else { classMatch.tileRight = nextTile; classMatch.countRight = tile.pointDown; } StartCoroutine(Move(nextTile, 0, -1.45f)); return; } if (!closedUp && doble && pointUp == tile.pointUp) { closedUp = true; tile.closedUp = true; if (classMatch.tileLeft == transform.gameObject) { classMatch.countLeft = tile.pointDown; classMatch.tileLeft = nextTile; } else { classMatch.tileRight = nextTile; classMatch.countRight = tile.pointDown; } StartCoroutine(Move(nextTile, 180, 1.45f)); return; } if (!closedDown && doble && pointDown == tile.pointDown) { closedDown = true; tile.closedDown = true; if (classMatch.tileLeft == transform.gameObject) { classMatch.countLeft = tile.pointUp; classMatch.tileLeft = nextTile; } else { classMatch.tileRight = nextTile; classMatch.countRight = tile.pointUp; } StartCoroutine(Move(nextTile, 180, -1.45f)); } } } }