ManaSign.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System;
  4. using System.Xml;
  5. using System.Collections;
  6. using System.Collections.Generic;
  7. public class Sign
  8. {
  9. #region 变量
  10. public int Coin;
  11. public int Diamond;
  12. public Text Lab1;
  13. public Text Lab2;
  14. public Image Icon;
  15. public Image Mark;
  16. public List<int> FlowerList = new List<int>();
  17. #endregion
  18. public Sign(int index, Transform tra, XmlAttributeCollection attribute)
  19. {
  20. Dictionary<string, Transform> dic = new Dictionary<string, Transform>();
  21. Auxiliary.CompileDic(tra, dic);
  22. Lab1 = dic["Lab1"].GetComponent<Text>();
  23. Lab2 = dic["Lab2"].GetComponent<Text>();
  24. Icon = dic["Icon1"].GetComponent<Image>();
  25. Mark = dic["Icon2"].GetComponent<Image>();
  26. Lab2.text = index.ToString();
  27. Coin = IntParse(attribute[3].Value);
  28. Diamond = IntParse(attribute[2].Value);
  29. FlowerList = Auxiliary.IntListParse(',', attribute[1].Value, new List<int>());
  30. }
  31. public void Get()
  32. {
  33. Mark.SetActive(true);
  34. if (FlowerList.Valid())
  35. {
  36. for (int i = 0; i < FlowerList.Count; i++)
  37. {
  38. if (ManaGarden.FlowerInfoDic[FlowerList[i]].Unlock == false)
  39. {
  40. ManaGarden.FlowerInfoDic[FlowerList[i]].Unlock = true;
  41. ManaSign.SignIndex++;
  42. ManaSign.SignIndex %= 22;
  43. ManaReso.SetText("Bb_InfoLab", Language.GetStr("FlowerName", "Flower" + FlowerList[i]));
  44. ManaReso.SetSprite("Bb_Info", ManaReso.Load<Sprite>("管理花园按钮", Folder.UI));
  45. Icon.sprite = ManaReso.Load<Sprite>("管理花园按钮", Folder.UI);
  46. Icon.SetActive(true);
  47. return;
  48. }
  49. }
  50. }
  51. if (Diamond > 0)
  52. {
  53. ManaSign.SignIndex++;
  54. ManaSign.SignIndex %= 22;
  55. ManaData.Diamond += Diamond;
  56. ManaReso.SetText("Bb_InfoLab", Diamond.ToString());
  57. ManaReso.SetSprite("Bb_Info", ManaReso.Load<Sprite>("钻石", Folder.UI));
  58. Icon.sprite = ManaReso.Load<Sprite>("钻石", Folder.UI);
  59. Icon.SetActive(true);
  60. Lab1.text = Diamond.ToString();
  61. Lab1.SetActive(true);
  62. }
  63. else if (Coin > 0)
  64. {
  65. ManaSign.SignIndex++;
  66. ManaSign.SignIndex %= 22;
  67. ManaData.Coin += Coin;
  68. ManaReso.SetText("Bb_InfoLab", Coin.ToString());
  69. ManaReso.SetSprite("Bb_Info", ManaReso.Load<Sprite>("金币", Folder.UI));
  70. Icon.sprite = ManaReso.Load<Sprite>("金币", Folder.UI);
  71. Icon.SetActive(true);
  72. Lab1.text = Diamond.ToString();
  73. Lab1.SetActive(true);
  74. }
  75. else
  76. {
  77. throw new Exception();
  78. }
  79. }
  80. public int IntParse(string str)
  81. {
  82. if (string.IsNullOrEmpty(str))
  83. {
  84. return 0;
  85. }
  86. else
  87. {
  88. return int.Parse(str);
  89. }
  90. }
  91. }
  92. public class ManaSign : Regist
  93. {
  94. #region 变量
  95. public static int SignIndex;
  96. public static Dictionary<int, Sign> SignDic = new Dictionary<int, Sign>();
  97. #endregion
  98. public static void Get()
  99. {
  100. SignDic[SignIndex].Get();
  101. ManaData.SignAmt++;
  102. }
  103. public override void RegistValueB()
  104. {
  105. SignIndex = Data.GetPlayerInt("SignIndex");
  106. Transform par = ManaReso.Get("Bb_Grid");
  107. List<XmlAttributeCollection> attributeList = Data.GetSignConfig();
  108. for (int i = 0; i < attributeList.Count; i++)
  109. {
  110. Transform tra = ManaReso.Get("SignInItem", Folder.UI, false, par, false);
  111. SignDic.Add(i + 1, new Sign(i + 1, tra, attributeList[i]));
  112. }
  113. for (int i = 1; i < SignIndex; i++)
  114. {
  115. SignDic[i].Mark.SetActive(true);
  116. }
  117. }
  118. }