I am trying to use a scriptable object to add some data to a tile in a tilemap. However, when I make a variable (tileDatas) using the scriptable object class (TileData), I am getting an error saying it cannot be found.
using UnityEngine;
using UnityEngine.Tilemaps;
using System;
using System.Collections.Generic;
public class MapTileData : MonoBehaviour
{
public TileData tileDatas;
private Dictionary<TileBase, tileDatas> datafromTiles;
void Start()
{
datafromTiles = new Dictionary<TileBase, tileDatas>();
foreach (TileData tileData in tileDatas)
{
foreach (var tile in tileData.tiles)
{
datafromTiles.Add(tile, tileData);
}
}
}
}
If it helps, here is the TileData script:
using UnityEngine;
using UnityEngine.Tilemaps;
using System;
using System.Collections.Generic;
[CreateAssetMenu]
public class TileData : ScriptableObject
{
public TileBase[] tiles;
public int[] health;
}
I want to take in the TileData scriptable object I have made as a parameter in the monobehaiour script that I can assign to in the object inspector window, does anyone know what is wrong with this?