|
@@ -7,12 +7,13 @@ using KairoEngine.Stockpiles;
|
|
|
using Sirenix.OdinInspector;
|
|
|
using KairoEngine.GameTools.Selectables;
|
|
|
using KairoEngine.SFX;
|
|
|
+using KairoEngine.UI.Encyclopedia;
|
|
|
|
|
|
namespace KairoEngine.Grids
|
|
|
{
|
|
|
[CreateAssetMenu(fileName = "PlaceObjectType", menuName = "KairoEngine/BuildingSystem/PlaceObjectType")]
|
|
|
[HideMonoScript]
|
|
|
- public class PlacedObjectType : ScriptableObject
|
|
|
+ public class PlacedObjectType : ScriptableObject, IEncyclopediaArticle
|
|
|
{
|
|
|
public static Dir GetNextDir(Dir dir)
|
|
|
{
|
|
@@ -295,5 +296,28 @@ namespace KairoEngine.Grids
|
|
|
case Dir.Right: return new Vector2Int(offset.y * -1, offset.x);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ public EncyclopediaArticle GetArticle()
|
|
|
+ {
|
|
|
+ EncyclopediaArticle article = new EncyclopediaArticle();
|
|
|
+ article.id = title;
|
|
|
+ article.title = title;
|
|
|
+ article.icon = icon;
|
|
|
+ article.description = description;
|
|
|
+ article.content.Add("title", title);
|
|
|
+ article.content.Add("category", category);
|
|
|
+ article.content.Add("description", description);
|
|
|
+ article.integers.Add("width", width);
|
|
|
+ article.integers.Add("height", height);
|
|
|
+ article.images.Add("icon", icon);
|
|
|
+ article.images.Add("image", image);
|
|
|
+ article.integers.Add("cost-slots", cost.Count);
|
|
|
+ for (int i = 0; i < cost.Count; i++)
|
|
|
+ {
|
|
|
+ article.content.Add($"cost-{i}-type", cost[i].stockpileType.title);
|
|
|
+ article.integers.Add($"cost-{i}-value", cost[i].ammount);
|
|
|
+ }
|
|
|
+ return article;
|
|
|
+ }
|
|
|
}
|
|
|
}
|