I have two script code as givien below Main Problem The main problem is that if my gameobject(i mean pycs in code) is destroyed why does my code carrys next pycs[(int)information] like this line carry (WhitePieceXData[3] = pycs[3].GetComponent().Get_X_Board_Easy(pycs[3]);) but why does it converts to (WhitePieceXData[3] = pycs[4].GetComponent().Get_X_Board_Easy(pycs[4]);) while game is runing THANKU SO MUCH FOR YOUR TIME
GOD HELP THOSE WHO HELP OTHERS
I WILL HELP 1 MORE PERSON IF YOU HELP ME
THANKU Team,BDS
// first Script
GameObject[] pycs = GameObject.FindGameObjectsWithTag("Pieces").OrderBy(go => go.transform.GetSiblingIndex()).ToArray(); // info white Pieces
object[] WhitePieceXData = new object[16]; //Made a array of the xboard which i want to send from 0-15
WhitePieceXData[0] = pycs[0].GetComponent<DiedChessman>().Get_X_Board_Easy(pycs[0]);
WhitePieceXData[1] = pycs[1].GetComponent<DiedChessman>().Get_X_Board_Easy(pycs[1]);
WhitePieceXData[2] = pycs[2].GetComponent<DiedChessman>().Get_X_Board_Easy(pycs[2]);
WhitePieceXData[3] = pycs[3].GetComponent<DiedChessman>().Get_X_Board_Easy(pycs[3]);
WhitePieceXData[4] = pycs[4].GetComponent<DiedChessman>().Get_X_Board_Easy(pycs[4]);
WhitePieceXData[5] = pycs[5].GetComponent<DiedChessman>().Get_X_Board_Easy(pycs[5]);
WhitePieceXData[6] = pycs[6].GetComponent<DiedChessman>().Get_X_Board_Easy(pycs[6]);
WhitePieceXData[7] = pycs[7].GetComponent<DiedChessman>().Get_X_Board_Easy(pycs[7]);
WhitePieceXData[8] = pycs[8].GetComponent<DiedChessman>().Get_X_Board_Easy(pycs[8]);
WhitePieceXData[9] = pycs[9].GetComponent<DiedChessman>().Get_X_Board_Easy(pycs[9]);
WhitePieceXData[10] = pycs[10].GetComponent<DiedChessman>().Get_X_Board_Easy(pycs[10]);
second script
public object Get_X_Board_Easy(GameObject Gobj)
{
if (Gobj.layer != 8)
{
return Gobj.GetComponent<Chessman>().xBoard;
}
else
{
return null;
Gobj.GetComponent<DiedChessman>().IsDied = true;
Debug.Log(Gobj + " , 0" + Gobj.GetComponent<DiedChessman>().IsDied);
}
}