39 lines
983 B
C#
39 lines
983 B
C#
using Mine2d.game.core.data;
|
|
|
|
namespace Mine2d.game.core.tiles;
|
|
|
|
public enum Tiles
|
|
{
|
|
Stone = 1,
|
|
Ore1 = 2,
|
|
Ore2 = 3,
|
|
Ore3 = 4,
|
|
Ore4 = 5,
|
|
Workbench = 6,
|
|
}
|
|
|
|
public class TileRegistry
|
|
{
|
|
public Dictionary<int, Tile> Tiles { get; set; } = new();
|
|
|
|
public void RegisterTile()
|
|
{
|
|
this.Tiles.Add(1, new Tile("stone", "stone", 5, ItemId.Stone));
|
|
this.Tiles.Add(2, new OreTile("ore1", new[] { "stone", "ore1" }, 5));
|
|
this.Tiles.Add(3, new OreTile("ore2", new[] { "stone", "ore2" }, 7));
|
|
this.Tiles.Add(4, new OreTile("ore3", new[] { "stone", "ore3" }, 8));
|
|
this.Tiles.Add(5, new OreTile("ore4", new[] { "stone", "ore4" }, 10));
|
|
this.Tiles.Add(6, new Workbench("workbench", "workbench", 10));
|
|
}
|
|
|
|
public Tile GetTile(int id)
|
|
{
|
|
return this.Tiles[id];
|
|
}
|
|
|
|
public int GetTileIdByItemId(ItemId itemId)
|
|
{
|
|
return this.Tiles.FirstOrDefault(x => x.Value.Drop == itemId).Key;
|
|
}
|
|
}
|