public void LoadFromPD() { if (InitPathData() == false) { return; } GameObject map = GameObject.FindWithTag("Map"); if (map) { byte[] bytes = PathData.LoadPathData(loadFileName); ByteArray.StartRead(bytes); int width = ByteArray.ReadInt(); int height = ByteArray.ReadInt(); textureGrid = new Texture2D(width, height, TextureFormat.ARGB32, false); aStarUtils = new AStarUtils(textureGrid.width, textureGrid.height); int x, z; bool bPassable; for (x = 0; x < textureGrid.width; x++) { for (z = 0; z < textureGrid.height; z++) { bPassable = ByteArray.ReadByte() == 0 ? true : false; textureGrid.SetPixel(x, z, bPassable ? Color.white : Color.black); aStarUtils.GetNode(x, z).walkable = bPassable; } } textureGrid.Apply(); gridPlane.material.mainTexture = textureGrid; bRayEnd = true; Debug.Log(width + "-" + height); } }