DefaultEncyclopediaCategory.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using Sirenix.OdinInspector;
  5. public class DefaultEncyclopediaCategory : EncyclopediaCategory
  6. {
  7. public List<DefaultEncyclopediaCategoryArticle> articles = new List<DefaultEncyclopediaCategoryArticle>();
  8. private List<EncyclopediaArticle> data = new List<EncyclopediaArticle>();
  9. [System.Serializable]
  10. public class DefaultEncyclopediaCategoryArticle
  11. {
  12. [HorizontalGroup("Line", 0.015f), HideLabel] public bool unlocked = true;
  13. [HorizontalGroup("Line", 0.985f), HideLabel] public DefaultEncyclopediaArticle article;
  14. }
  15. public override List<EncyclopediaArticle> GetArticles()
  16. {
  17. if(data.Count == 0) UpdateArticles();
  18. return data;
  19. }
  20. public override void UpdateArticles()
  21. {
  22. data = new List<EncyclopediaArticle>();
  23. foreach (DefaultEncyclopediaCategoryArticle item in articles)
  24. {
  25. var article = item.article.GetArticle();
  26. article.id = id + "_" + article.id;
  27. data.Add(article);
  28. }
  29. }
  30. }