protected virtual void MoveToTile(Vector3Int nextTile, float speed) { float distanceToDestination = Vector2.Distance(transform.position, grid.GetCellCenterWorld(nextTile)); if (distanceToDestination > 0.1) { transform.position = GridMovement.MoveToTile(transform.position, nextTile, grid, speed * Time.deltaTime); } else { currentTile = nextTile; transform.position = grid.GetCellCenterWorld(currentTile); } currentTile = grid.WorldToCell(this.transform.position); }
//TODO: Update tiles that they are occupied by this entity /// <summary> /// Sets the tile for the Entity to move towards to /// </summary> /// <returns></returns> protected virtual void MoveToTile(Vector3Int nextTile, float speed) { float distanceToDestination = Vector3.Distance(transform.position, grid.GetCellCenterWorld(nextTile)); if (distanceToDestination > 0.1) { transform.position = GridMovement.MoveToTile(transform.position, nextTile, grid, speed * Time.deltaTime); } else { currentTile = nextTile; dungeonManager.dungeonGenerator.DungeonTerrainTiles[currentTile.x, currentTile.y].gridEntity = this; transform.position = grid.GetCellCenterWorld(currentTile); } }