public static void SpawnRandomGoldTiles(int amount, GameObject goldPrefab, Transform goldParent) { TileMap tm = TileMapInterfacer.Instance.TileMap; Vector2[] goldTiles = GetRandomGoldTiles(amount); for (int i = 0; i < goldTiles.Length; i++) { tm.UpdateTexture(goldTiles[i], new Noblock()); Lean.LeanPool.Spawn(goldPrefab, tm.ConvertTileToWorld(goldTiles[i]), Quaternion.identity, goldParent); } }
// Update is called once per frame void Update() { if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hitInfo; if (theCollider.Raycast(ray, out hitInfo, Mathf.Infinity)) { int x = (int)((hitInfo.point.x / theMeshRenderer.bounds.size.x) * _tileMap.size_x); int y = (int)((hitInfo.point.y / theMeshRenderer.bounds.size.y) * _tileMap.size_z); //Debug.Log("Tile: " + x + ", " + z); // Debug.Log("Hit info x : " + Mathf.RoundToInt(hitInfo.point.x / _tileMap.tileSize) + " y: " + Mathf.RoundToInt(hitInfo.point.y / _tileMap.tileSize)); _tileMap.UpdateTexture(x, y, new DirtBlock()); } } }
protected virtual void OnDespawn() { theTileMap.UpdateTexture(Pos, new Noblock()); }