public void SetGrid(myGrid <PathNode> grid) { this.grid = grid; UpdateVisual(); grid.OnGridObjectChanged += Grid_OnGridValueChanged; }
void Awake() { _thistransform = GetComponent <Transform>(); level_grid = new myGrid(grid_width, grid_height, _thistransform); }
// Start is called before the first frame update void Start() { instance = this; Fade.Play("Black"); pauseScreen.SetActive(false); winScreen.SetActive(false); // un-mute npcs GameData.instance.muteFX = false; // load data from GameData width = GameData.instance.gridWidth; height = GameData.instance.gridHeight; Vector3 origin = GameData.instance.gridOrigin; worldCamera = Camera.main; pathfinding = new Pathfinding(width, height, origin); grid = pathfinding.GetGrid(); GameData.instance.LoadGameWalkableTiles(); /* * if (GameData.instance.devTools) * { * grid.DrawGrid(); * pathfindingVisual.SetGrid(grid); * } */ // start game StartCoroutine(GameInit()); }
public void InitializeGrid() { Dictionary <string, myGrid> current = new Dictionary <string, myGrid>(); for (int x = 0; x < transform.childCount; x++) { myGrid mg = transform.GetChild(x).GetComponent <myGrid>(); current.Add(mg.posX + " " + mg.posY, mg); } grid = new myGrid[gridX, gridY]; for (int x = 0; x < gridX; x++) { for (int y = 0; y < gridY; y++) { if (current.ContainsKey(x + " " + y)) { grid[x, y] = current[x + " " + y]; } else { GameObject t = Instantiate(defaultTile, transform); myGrid temp = t.AddComponent <myGrid>(); temp.setGrid(x, y); t.transform.rotation = defaultTile.transform.rotation; t.transform.position = tileLocation(x, y); } } } }
public void resetTilePosition() { if (Heightmap == null) { for (int x = 0; x < transform.childCount; x++) { myGrid mg = transform.GetChild(x).GetComponent <myGrid>(); mg.transform.position = tileLocation(mg.posX, mg.posY); } } else { for (int x = 0; x < transform.childCount; x++) { myGrid mg = transform.GetChild(x).GetComponent <myGrid>(); Mesh m = transform.GetChild(x).GetComponent <MeshFilter>().mesh; Vector3[] vert = getWorldSpaceVertices(mg.gameObject); mg.transform.position = tileLocation(mg.posX, mg.posY); Debug.Log(m.vertices[0]); for (int y = 0; y < vert.Length; y++) { //Debug.Log(m.vertices[y]); vert[y].z = Heightmap.GetPixelBilinear(vert[y].x * HeightMapStepSpeed / Heightmap.width, vert[y].z * HeightMapStepSpeed / Heightmap.height).g *HeightmapScale; //Debug.Log(vert[y]); vert[y].z -= HeightmapScale / 2; vert[y].x = m.vertices[y].x; vert[y].y = m.vertices[y].y; } m.vertices = vert; m.RecalculateNormals(); } } }
public PathNode(myGrid <PathNode> grid, int x, int y) { this.grid = grid; this.x = x; this.y = y; this.isWalkable = true; //this.isWalkable = GameData.instance.walkableTiles[x, y]; }
private void Start() { create_grid = gameObject.GetComponentInParent <CreateGrid>(); grid = create_grid.level_grid; intY = Mathf.FloorToInt(gameObject.transform.localPosition.y * -1); intX = Mathf.FloorToInt(gameObject.transform.localPosition.x); }
// Use this for initialization protected virtual void Start() { grid = GameManager.grid; currentNode = grid.GetNodeContainingPosition(transform.position); transform.position = currentNode.worldPosition; nextNode = grid.GetNeighboursDown(currentNode); nextPos = nextNode.worldPosition; currentNode.Grita(); CorrectPosition(); currentNode.isFull = true; }
// Start is called before the first frame update void Start() { // intro fade animation Fade.gameObject.SetActive(true); Fade.Play("Black"); // advance mode AdvanceMode.interactable = GameData.instance.isAdvanceModeUnlocked(); // start menu coroutine StartCoroutine(Init()); instance = this; // mute npcs GameData.instance.muteFX = true; // set menus active MainMenu.SetActive(true); PlayMenu.SetActive(false); SettingsMenu.SetActive(false); Credits.SetActive(false); // load data from GameData width = GameData.instance.menuGridWidth; height = GameData.instance.menuGridHeight; Vector3 origin = GameData.instance.menuGridOrigin; worldCamera = Camera.main; pathfinding = new Pathfinding(width, height, origin); grid = pathfinding.GetGrid(); GameData.instance.LoadMenuWalkableTiles(); if (GameData.instance.devTools) { grid.DrawGrid(); pathfindingVisual.SetGrid(grid); } }
public static void SetGrid(myGrid _grid) { grid = _grid; }
private List <PathNode> closedList; // nodes that have already been searched public Pathfinding(int width, int height, Vector3 origin) { instance = this; grid = new myGrid <PathNode>(width, height, 1f, origin, (myGrid <PathNode> g, int x, int y) => new PathNode(g, x, y)); }
private void Grid_OnGridValueChanged(object sender, myGrid <PathNode> .OnGridObjectChangedEventArgs e) { updateMesh = true; }