public void CheckPlaceable() { isPlaceable = true; foreach (GameObject thisSprite in mySprites) { if (thisSprite != null) { ItemPlacementSpriteHelper mySprite = thisSprite.GetComponentInChildren <ItemPlacementSpriteHelper>(); int checkX = x + mySprite.x; int checkY = y + mySprite.y; //print (checkX + " - " + checkY); bool myVal = false; myVal = FactoryPlayerConnector.s.CheckPlaceable(new Position(checkX, checkY)); if (myVal) { mySprite.Placeable(); } else { mySprite.CantPlace(); isPlaceable = false; } } } }
public void Setup(BuildingData _myData) { myData = _myData; for (int y = 0; y < myData.shape.column.Length; y++) { for (int x = 0; x < myData.shape.column[y].row.Length; x++) { if (myData.shape.column[y].row[x]) { //print (x + " - " + y); Position myPos = (new Position(x, y) - BuildingData.center); //print(center); mySprites[x, y] = Instantiate(ItemSpritePrefab, myPos.Vector3(Position.Type.itemPlacementHelper) - Vector3.forward, Quaternion.identity); mySprites[x, y].transform.parent = transform; ItemPlacementSpriteHelper mySprite = mySprites[x, y].GetComponent <ItemPlacementSpriteHelper>(); mySprite.x = myPos.x; mySprite.y = myPos.y; } } } }