Config.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public enum PosType
  5. {
  6. Random,
  7. Left,
  8. LeftTop,
  9. LeftDown,
  10. Right,
  11. RightTop,
  12. RightDown,
  13. Top,
  14. Down,
  15. Rotate,
  16. }
  17. public enum MoveType
  18. {
  19. /// <summary>
  20. /// 随机位置静止
  21. /// </summary>
  22. Stay,
  23. /// <summary>
  24. /// 左右水平移动
  25. /// </summary>
  26. LeftToRight,
  27. /// <summary>
  28. /// 右左水平移动
  29. /// </summary>
  30. RightToLeft,
  31. /// <summary>
  32. /// 相对水平移动
  33. /// </summary>
  34. RelativeHor,
  35. /// <summary>
  36. /// 相对垂直移动
  37. /// </summary>
  38. RelativeVet,
  39. /// <summary>
  40. /// 同步斜向移动
  41. /// </summary>
  42. Diagonal,
  43. /// <summary>
  44. /// 同步W型移动
  45. /// </summary>
  46. W,
  47. /// <summary>
  48. /// 相对W型移动
  49. /// </summary>
  50. W2,
  51. /// <summary>
  52. /// 横排同步水平移动
  53. /// </summary>
  54. HOR,
  55. /// <summary>
  56. /// 垂直同步水平移动
  57. /// </summary>
  58. VET,
  59. /// <summary>
  60. /// 旋转移动
  61. /// </summary>
  62. ROT,
  63. }
  64. public class Order
  65. {
  66. /// <summary>
  67. /// 大靶数量
  68. /// </summary>
  69. public int Big;
  70. /// <summary>
  71. /// 中靶数量
  72. /// </summary>
  73. public int Middle;
  74. /// <summary>
  75. /// 小靶数量
  76. /// </summary>
  77. public int Small;
  78. /// <summary>
  79. /// 移动方式
  80. /// </summary>
  81. public MoveType MoveType;
  82. /// <summary>
  83. /// 出现时间
  84. /// </summary>
  85. public float ShowTime;
  86. /// <summary>
  87. /// 序列休息时间
  88. /// </summary>
  89. public float WaitTime;
  90. public Order(int big, int middle, int small, MoveType moveType, float showTime, float waitTime)
  91. {
  92. this.Big = big;
  93. this.Middle = middle;
  94. this.Small = small;
  95. this.MoveType = moveType;
  96. this.ShowTime = showTime;
  97. this.WaitTime = waitTime;
  98. }
  99. }
  100. public class Level
  101. {
  102. /// <summary>
  103. /// 游戏总时长
  104. /// </summary>
  105. public int TotalTime;
  106. /// <summary>
  107. /// 关卡数据
  108. /// </summary>
  109. public Order[] orders;
  110. }
  111. public static class Config
  112. {
  113. static Level[] _levels;
  114. public static Level[] levels
  115. {
  116. get
  117. {
  118. if (_levels == null)
  119. {
  120. _levels = new Level[] {
  121. new()
  122. {
  123. #if UNITY_EDITOR
  124. TotalTime = 150,
  125. #elif !UNITY_EDITOR
  126. TotalTime = 150,
  127. #endif
  128. orders = new Order[]
  129. {
  130. new Order(1, 0, 0, MoveType.Stay, 3, 1),
  131. new Order(2, 0, 0, MoveType.Stay, 6, 2),
  132. new Order(1, 1, 1, MoveType.Stay, 12, 3),
  133. new Order(1, 0, 0, MoveType.LeftToRight, 3, 1),
  134. new Order(0, 1, 0, MoveType.Stay, 4, 1),
  135. new Order(0, 1, 1, MoveType.Stay, 9, 2),
  136. new Order(0, 0, 2, MoveType.Stay, 10, 2),
  137. new Order(0, 1, 0, MoveType.RightToLeft, 4, 1),
  138. new Order(3, 0, 0, MoveType.Stay, 9, 3),
  139. new Order(0, 3, 0, MoveType.Stay, 12, 3),//10
  140. new Order(0, 2, 1, MoveType.Stay, 13, 3),
  141. new Order(2, 0, 0, MoveType.RelativeHor, 6, 2),
  142. new Order(0, 1, 2, MoveType.Stay, 14, 3),
  143. new Order(0, 0, 3, MoveType.Stay, 15, 3),
  144. },
  145. },
  146. new()
  147. {
  148. TotalTime = 135,
  149. orders = new Order[]
  150. {
  151. new Order(1, 0, 3, MoveType.Stay, 14, 4.8f),
  152. new Order(0, 2, 0, MoveType.Diagonal, 6, 2.4f),
  153. new Order(3, 0, 0, MoveType.Stay, 6, 3.6f),
  154. new Order(0, 3, 0, MoveType.Stay, 9, 3.6f),
  155. new Order(0, 0, 3, MoveType.Stay, 12, 3.6f),
  156. new Order(0, 2, 0, MoveType.W, 6, 2.4f),
  157. new Order(2, 2, 0, MoveType.Stay, 8, 4.8f),
  158. new Order(1, 3, 0, MoveType.Stay, 11, 4.8f),
  159. new Order(0, 1, 3, MoveType.Stay, 15, 4.8f),
  160. new Order(0, 3, 0, MoveType.W2, 9, 3.6f),
  161. },
  162. },
  163. new()
  164. {
  165. TotalTime = 96,
  166. orders = new Order[]
  167. {
  168. new Order(0, 3, 0, MoveType.HOR, 6, 4.5f),
  169. new Order(0, 0, 3, MoveType.VET, 9, 4.5f),
  170. new Order(0, 4, 0, MoveType.RelativeHor, 8, 6),
  171. new Order(0, 0, 4, MoveType.RelativeVet, 12, 6),
  172. new Order(0, 5, 0, MoveType.ROT, 10, 7.5f),
  173. new Order(0, 0, 5, MoveType.ROT, 15, 7.5f),
  174. },
  175. }
  176. };
  177. }
  178. return _levels;
  179. }
  180. }
  181. }