private void Movie(Dictionary <Vector2Int, Game2048ChessData> chessboard, Vector2Int current, List <Vector2Int> path) { Game2048ChessData chessData = chessboard[current]; if (chessData == null) { return; } for (int i = 0; i < path.Count; i++) { Vector2Int target = path[i]; Game2048Chessboard.MovieState movieState = chessData.GetMovieState(chessboard[path[i]]); switch (movieState) { case Game2048Chessboard.MovieState.Empty: Debug.LogError("有问题"); return; case Game2048Chessboard.MovieState.Movie: chessboard[current] = null; chessboard[target] = chessData; current = target; break; case Game2048Chessboard.MovieState.Stop: return; case Game2048Chessboard.MovieState.Merge: chessData.Merge(); chessboard[current] = null; chessboard[target] = chessData; return; } } }