EncyclopediaController.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using Sirenix.OdinInspector;
  5. using KairoEngine.UI.InteractionHandler;
  6. [HideMonoScript]
  7. public class EncyclopediaController : MonoBehaviour, IClickHandler
  8. {
  9. [ShowInInspector, HorizontalGroup("IndexLine", 0.7f), LabelText("Index")] public int menuIndex;
  10. [ShowInInspector, HorizontalGroup("IndexLine", 0.3f), HideLabel] public int subMenuIndex;
  11. public EncyclopediaUi encyclopediaUi;
  12. public GameObject categoryButtomPrefab;
  13. public List<EncyclopediaCategory> categories = new List<EncyclopediaCategory>();
  14. [Button("Build Menu"), ButtonGroup("Buttons")]
  15. public void BuildMenu()
  16. {
  17. Navigate();
  18. }
  19. public void OnClick(string id)
  20. {
  21. for (int i = 0; i < categories.Count; i++)
  22. {
  23. if(id == categories[i].id)
  24. {
  25. menuIndex = i;
  26. Navigate();
  27. return;
  28. }
  29. var articles = categories[i].GetArticles();
  30. for (int a = 0; a < articles.Count; a++)
  31. {
  32. if(id == articles[a].id)
  33. {
  34. menuIndex = i;
  35. subMenuIndex = a;
  36. Navigate();
  37. return;
  38. }
  39. }
  40. }
  41. }
  42. [Button("Navigate"), ButtonGroup("Buttons")]
  43. public void Navigate()
  44. {
  45. if(encyclopediaUi != null) encyclopediaUi.Navigate();
  46. }
  47. }