diff --git a/Assets/Scripts/TileBehaviour.cs b/Assets/Scripts/TileBehaviour.cs index d9c2a05..92736a0 100644 --- a/Assets/Scripts/TileBehaviour.cs +++ b/Assets/Scripts/TileBehaviour.cs @@ -6,8 +6,7 @@ using UnityEngine; public class TileBehaviour : MonoBehaviour { private BaseTile _tile; - - public BaseTile Tile { + public virtual BaseTile Tile { get => _tile; set { _tile = value; diff --git a/Assets/Scripts/TileController.cs b/Assets/Scripts/TileController.cs index c8b55c0..20e87ae 100644 --- a/Assets/Scripts/TileController.cs +++ b/Assets/Scripts/TileController.cs @@ -12,8 +12,8 @@ public class TileController : MonoBehaviour { // Start is called before the first frame update void Start() { - Camera camera = cameraGameObject.GetComponent(); Tiles = new List>(); + Camera camera = cameraGameObject.GetComponent(); Vector3 screen = camera.ViewportToWorldPoint(new Vector3(1, 1, camera.nearClipPlane)); int x = Convert.ToInt32(Math.Ceiling(screen.x)); int y = Convert.ToInt32(Math.Ceiling(screen.y)); diff --git a/Assets/Scripts/Tiles/BaseTile.cs b/Assets/Scripts/Tiles/BaseTile.cs index b62c9a5..4d5b667 100644 --- a/Assets/Scripts/Tiles/BaseTile.cs +++ b/Assets/Scripts/Tiles/BaseTile.cs @@ -4,8 +4,8 @@ using UnityEngine; namespace Tiles { public abstract class BaseTile { - private Sprite _sprite; - public Sprite Sprite => _sprite; + protected Sprite _sprite; + public virtual Sprite Sprite => _sprite; protected BaseTile(String pathToImageFile) { _sprite = GenerateSpriteFromFile(pathToImageFile); diff --git a/Assets/Scripts/Tiles/GrassTile.cs b/Assets/Scripts/Tiles/GrassTile.cs index 21d8f60..6c6861d 100644 --- a/Assets/Scripts/Tiles/GrassTile.cs +++ b/Assets/Scripts/Tiles/GrassTile.cs @@ -2,11 +2,23 @@ namespace Tiles { - public class GrassTile : BaseTile - { - public GrassTile() : base("Assets/Farming Asset Pack/Split Assets/farming_tileset_000.png") + public class GrassTile : BaseTile { + private Sprite[] _sprites; + public override Sprite Sprite { - + get + { + int rand = Random.Range(0, _sprites.Length); + return _sprites[rand]; + } + } + public GrassTile() : base("Assets/Farming Asset Pack/Split Assets/farming_tileset_000.png") { + _sprites = new[] + { + GenerateSpriteFromFile("Assets/Farming Asset Pack/Split Assets/farming_tileset_000.png"), + GenerateSpriteFromFile("Assets/Farming Asset Pack/Split Assets/farming_tileset_001.png"), + GenerateSpriteFromFile("Assets/Farming Asset Pack/Split Assets/farming_tileset_002.png") + }; } } } \ No newline at end of file