Player.cs 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. public class Player : MonoBehaviour
  5. {
  6. #region 变量
  7. #region 引用变量
  8. private GameObject Head1;
  9. private GameObject Head2;
  10. private GameObject Head3;
  11. private GameObject HeadWear1;
  12. private GameObject HeadWear2;
  13. private GameObject HeadWear3;
  14. private SpriteRenderer EyeSr;
  15. private SpriteRenderer MouseSr;
  16. private SpriteRenderer TopSr;
  17. private SpriteRenderer DressSr;
  18. private SpriteRenderer LeftShoeSr;
  19. private SpriteRenderer RightShoeSr;
  20. #endregion
  21. private GameObject CurrentHead;
  22. private GameObject CurrentHeadWear;
  23. private List<Sprite> EyeList;
  24. private List<Sprite> MouseList;
  25. private List<Sprite> TopList;
  26. private List<Sprite> DressList;
  27. private List<Sprite> ShoeList;
  28. private List<GameObject> HeadList;
  29. private List<GameObject> HeadWearList;
  30. #endregion
  31. private void Awake()
  32. {
  33. #region 引用变量赋值
  34. Hashtable hashtable = new Hashtable();
  35. Transform[] transforms = GetComponentsInChildren<Transform>(true);
  36. for (int i = 0; i < transforms.Length; i++)
  37. {
  38. hashtable.Add(transforms[i].name, transforms[i]);
  39. }
  40. Head1 = ((Transform) hashtable["Head1"]).gameObject;
  41. Head2 = ((Transform)hashtable["Head2"]).gameObject;
  42. Head3 = ((Transform)hashtable["Head3"]).gameObject;
  43. HeadWear1 = ((Transform)hashtable["HeadWear1"]).gameObject;
  44. HeadWear2 = ((Transform)hashtable["HeadWear2"]).gameObject;
  45. HeadWear3 = ((Transform)hashtable["HeadWear3"]).gameObject;
  46. EyeSr = ((Transform)hashtable["EyeSr"]).GetComponent<SpriteRenderer>();
  47. MouseSr = ((Transform)hashtable["MouseSr"]).GetComponent<SpriteRenderer>();
  48. TopSr = ((Transform)hashtable["TopSr"]).GetComponent<SpriteRenderer>();
  49. DressSr = ((Transform)hashtable["DressSr"]).GetComponent<SpriteRenderer>();
  50. LeftShoeSr = ((Transform)hashtable["LeftShoeSr"]).GetComponent<SpriteRenderer>();
  51. RightShoeSr = ((Transform)hashtable["RightShoeSr"]).GetComponent<SpriteRenderer>();
  52. #endregion
  53. CurrentHead = Head1;
  54. CurrentHeadWear = HeadWear1;
  55. EyeList = new List<Sprite>();
  56. EyeList.Add(ManagerResource.Ins.Load<Sprite>("眼睛1", Folder.Sprite));
  57. EyeList.Add(ManagerResource.Ins.Load<Sprite>("眼睛2", Folder.Sprite));
  58. EyeList.Add(ManagerResource.Ins.Load<Sprite>("眼睛3", Folder.Sprite));
  59. MouseList = new List<Sprite>();
  60. MouseList.Add(ManagerResource.Ins.Load<Sprite>("嘴巴1", Folder.Sprite));
  61. MouseList.Add(ManagerResource.Ins.Load<Sprite>("嘴巴2", Folder.Sprite));
  62. MouseList.Add(ManagerResource.Ins.Load<Sprite>("嘴巴3", Folder.Sprite));
  63. TopList = new List<Sprite>();
  64. TopList.Add(ManagerResource.Ins.Load<Sprite>("上衣1", Folder.Sprite));
  65. TopList.Add(ManagerResource.Ins.Load<Sprite>("上衣2", Folder.Sprite));
  66. TopList.Add(ManagerResource.Ins.Load<Sprite>("上衣3", Folder.Sprite));
  67. DressList = new List<Sprite>();
  68. DressList.Add(ManagerResource.Ins.Load<Sprite>("裙子1", Folder.Sprite));
  69. DressList.Add(ManagerResource.Ins.Load<Sprite>("裙子2", Folder.Sprite));
  70. DressList.Add(ManagerResource.Ins.Load<Sprite>("裙子3", Folder.Sprite));
  71. ShoeList = new List<Sprite>();
  72. ShoeList.Add(ManagerResource.Ins.Load<Sprite>("鞋子1", Folder.Sprite));
  73. ShoeList.Add(ManagerResource.Ins.Load<Sprite>("鞋子2", Folder.Sprite));
  74. ShoeList.Add(ManagerResource.Ins.Load<Sprite>("鞋子3", Folder.Sprite));
  75. HeadList = new List<GameObject>();
  76. HeadList.Add(Head1);
  77. HeadList.Add(Head2);
  78. HeadList.Add(Head3);
  79. HeadWearList = new List<GameObject>();
  80. HeadWearList.Add(HeadWear1);
  81. HeadWearList.Add(HeadWear2);
  82. HeadWearList.Add(HeadWear3);
  83. }
  84. private void FixedUpdate()
  85. {
  86. }
  87. #region 换装函数
  88. public void NextHead()
  89. {
  90. int index = HeadList.IndexOf(CurrentHead);
  91. CurrentHead.SetActive(false);
  92. CurrentHead = HeadList[(index + 1)%HeadList.Count];
  93. CurrentHead.SetActive(true);
  94. }
  95. public void PreviousHead()
  96. {
  97. int index = HeadList.IndexOf(CurrentHead);
  98. CurrentHead.SetActive(false);
  99. CurrentHead = HeadList[(index - 1 + HeadList.Count) % HeadList.Count];
  100. CurrentHead.SetActive(true);
  101. }
  102. public void NextEye()
  103. {
  104. int index = EyeList.IndexOf(EyeSr.sprite);
  105. EyeSr.sprite = EyeList[(index + 1) % EyeList.Count];
  106. }
  107. public void PreviousEye()
  108. {
  109. int index = EyeList.IndexOf(EyeSr.sprite);
  110. EyeSr.sprite = EyeList[(index - 1 + EyeList.Count) % EyeList.Count];
  111. }
  112. public void NextMouse()
  113. {
  114. int index = MouseList.IndexOf(MouseSr.sprite);
  115. MouseSr.sprite = MouseList[(index + 1) % MouseList.Count];
  116. }
  117. public void PreviousMouse()
  118. {
  119. int index = MouseList.IndexOf(MouseSr.sprite);
  120. MouseSr.sprite = MouseList[(index - 1 + MouseList.Count) % MouseList.Count];
  121. }
  122. public void NextHeadWear()
  123. {
  124. int index = HeadWearList.IndexOf(CurrentHeadWear);
  125. CurrentHeadWear.SetActive(false);
  126. CurrentHeadWear = HeadWearList[(index + 1) % HeadWearList.Count];
  127. CurrentHeadWear.SetActive(true);
  128. }
  129. public void PreviousHeadWear()
  130. {
  131. int index = HeadWearList.IndexOf(CurrentHeadWear);
  132. CurrentHeadWear.SetActive(false);
  133. CurrentHeadWear = HeadWearList[(index - 1 + HeadWearList.Count)%HeadWearList.Count];
  134. CurrentHeadWear.SetActive(true);
  135. }
  136. public void NextTop()
  137. {
  138. int index = TopList.IndexOf(TopSr.sprite);
  139. TopSr.sprite = TopList[(index + 1) % TopList.Count];
  140. }
  141. public void PreviousTop()
  142. {
  143. int index = TopList.IndexOf(TopSr.sprite);
  144. TopSr.sprite = TopList[(index - 1 + TopList.Count) % TopList.Count];
  145. }
  146. public void NextDress()
  147. {
  148. int index = DressList.IndexOf(DressSr.sprite);
  149. DressSr.sprite = DressList[(index + 1) % DressList.Count];
  150. }
  151. public void PreviousDress()
  152. {
  153. int index = DressList.IndexOf(DressSr.sprite);
  154. DressSr.sprite = DressList[(index - 1 + DressList.Count) % DressList.Count];
  155. }
  156. public void NextShoe()
  157. {
  158. int index = ShoeList.IndexOf(LeftShoeSr.sprite);
  159. LeftShoeSr.sprite = ShoeList[(index + 1) % ShoeList.Count];
  160. RightShoeSr.sprite = ShoeList[(index + 1) % ShoeList.Count];
  161. }
  162. public void PreviousShoe()
  163. {
  164. int index = ShoeList.IndexOf(LeftShoeSr.sprite);
  165. LeftShoeSr.sprite = ShoeList[(index - 1 + ShoeList.Count) % ShoeList.Count];
  166. RightShoeSr.sprite = ShoeList[(index - 1 + ShoeList.Count) % ShoeList.Count];
  167. }
  168. #endregion
  169. }