Вот неправильный код.
if (Chessmans[x, y].PossibleMove() == KingLoc[x,y].KingCurLoc() && !isWhiteTurn)
{
Debug.Log("White in check");
}
else if (Chessmans[x, y].PossibleMove() == KingLoc[x,y].KingCurLoc() && isWhiteTurn)
{
Debug.Log("Black in check");
}
странно, потому что я не получаю похожую ошибку для .PossibleMove()
Вот сценарий King:
public class King : ChessPieces
{
public int KingX;
public int KingY;
public virtual bool[,] KingCurLoc()
{
bool[,] BKL = new bool[8, 8];
bool[,] WKL = new bool[8, 8];
if (gameObject.name = "KingDark(Clone)")
{
BKL = BKL[CurrentX, CurrentY];
return BKL;
}
else if (gameObject.name = "KingLight(Clone)")
{
WKL = WKL[CurrentX, CurrentY];
return WKL;
}
}
public override bool[,] PossibleMove()
{
bool[,] r = new bool[8, 8];
// Other code omitted
}
Я приложил все усилия, чтобы воссоздать все, что использовалось для .PossibleMove()
работы, а .KingCurLoc()
- нет. Я довольно новичок в кодировании, так что это может быть очевидно.
Спасибо за любую помощь.
РЕДАКТИРОВАТЬ: KingLoc используется (чтобы попытаться) ссылаться на скрипт короля, используя
public King[,] KingLoc { set; get; }
РЕДАКТИРОВАТЬ 2: Кто-нибудь знает метод, который я мог бы использовать, чтобы получить доступ Bool? Любой совет помогает, спасибо