bool isValidGridPos() { foreach (Transform child in transform) { Vector2 v = Gird.roundVer2(child.position); //1.判断是否在边界之内(左、右、下) if (!Gird.insideBorder(v)) { return(false); } //2.判断gird所对应的格子是否为空 if (Gird.gird[(int)v.x, (int)v.y] != null && Gird.gird[(int)v.x, (int)v.y].parent != transform) { return(false); } } return(true); }
void updateGrid() { //上一次的数据清理,移去原来占据的格子信息 for (int y = 0; y < Gird.h; y++) { for (int x = 0; x < Gird.w; x++) { if (Gird.gird[x, y] != null) { if (Gird.gird[x, y].parent == transform) { Gird.gird[x, y] = null; } } } } //加入本次更新的位置信息 foreach (Transform child in transform) { Vector2 v = Gird.roundVer2(child.position); Gird.gird[(int)v.x, (int)v.y] = child; } }