/// <summary> /// 在m_MoveList中插入一个走法 /// </summary> /// <param name="nFromX">原始位置X</param> /// <param name="nFromZ">原始位置Z</param> /// <param name="nToX">目标位置X</param> /// <param name="nToZ">目标位置Z</param> /// <param name="nPly">深度</param> /// <returns>m_MoveList中的走法数量</returns> public static int AddMove(int nFromX, int nFromZ, int nToX, int nToZ, int nPly) { if (nPly == 100) //深度为100则是玩家调用的,需要生成指针 { //Debug.Log("选中的ID:"+GlobalConst.Instance.ChessBoard[nFromX,nFromZ]+"++目标X:" + nToX * 3 + " 目标Z:" + nToZ * 3); GameObject go = pointerPool.FastSpawn(new Vector3((float)nToX * 3, 1.6f, (float)nToZ * 3), Quaternion.identity, cacheTransform) as GameObject; chessmanManager.spawnedPointers.Add(go); } else //其他深度则是AI自己调用的 { m_MoveList[nPly, m_nMoveCount].From.x = (byte)nFromX; m_MoveList[nPly, m_nMoveCount].From.z = (byte)nFromZ; m_MoveList[nPly, m_nMoveCount].To.x = (byte)nToX; m_MoveList[nPly, m_nMoveCount].To.z = (byte)nToZ; // Debug.Log("x:" + nToX + " z:" + nToZ); m_nMoveCount++; } return(m_nMoveCount); }