// Update is called once per frame public new void Update() { base.Update(); if (gamePlayerController.state == GameState.BeforeStart) { gamePlayerController.game.ShowStateLabel("等待其他玩家加入..."); } if (isMoveSeat) { float step = moveSeatSpeed * Time.deltaTime; bool[] moveCompletedArray = new bool[Game.SeatCount]; for (int i = 0; i < fromPositions.Length; i++) { int fromSeatIndex = fromPositions [i], toSeatIndex = toPositions [i]; //Debug.Log ("move seat: " + fromPositions[i] + " --> " + toPositions[i]); GameObject fromSeat = seats[fromSeatIndex].playerPanel; Vector3 toPosition = positions [toSeatIndex]; fromSeat.transform.position = Vector3.MoveTowards(fromSeat.gameObject.transform.position, toPosition, step); if (Utils.isTwoPositionIsEqual(fromSeat.gameObject.transform.position, toPosition)) { moveCompletedArray [i] = true; } } bool isMoveCompleted = true; for (int i = 0; i < fromPositions.Length; i++) { isMoveCompleted = isMoveCompleted && moveCompletedArray [i]; } if (isMoveCompleted) { isMoveSeat = false; for (int i = 0; i < Game.SeatCount; i++) { seats[i].playerPanel.transform.position = positions [i]; } foreach (Seat seat in seats) { seat.UpdateUI(gamePlayerController.game); } gamePlayerController.ResetUI(); } } }