ManaTutorial.cs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. public class ManaTutorial : Regist
  6. {
  7. #region 变量
  8. public static int TutorialIndexA;
  9. public static int TutorialIndexB;
  10. public static bool TutorialA;
  11. public static bool TutorialB;
  12. #endregion
  13. public override void Instantiate()
  14. {
  15. if (TutorialA || TutorialB)
  16. {
  17. ManaReso.Get("Tutorial", Folder.Object, true, transform, false).AddScript<Tutorial>();
  18. }
  19. }
  20. public override void RegistValueC()
  21. {
  22. if (TutorialA || TutorialB)
  23. {
  24. ManaReso.Get("N_Mask").CreateTweenGra(0, 180 / 255f, 0.25f, false, true, Curve.EaseOutQuad);
  25. ManaReso.Get("N_Arrow").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
  26. ManaReso.Get("N_Tutorial").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
  27. ManaReso.Get("N_Confirm").CreateTweenGra(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
  28. if (TutorialA)
  29. {
  30. ManaReso.SetActive("B_SignIn", false);
  31. ManaReso.SetActive("N_Tutorial", true);
  32. if (TutorialIndexA == 1)
  33. {
  34. PrepareStep1();
  35. }
  36. else if (TutorialIndexA == 2)
  37. {
  38. Garden.Instance.TutorialToRegular();
  39. PrepareStep2();
  40. }
  41. else if (TutorialIndexA == 4)
  42. {
  43. Garden.Instance.TutorialToRegular();
  44. ManaUI.Instance.TutorialToRegular();
  45. ManaReso.Get("Tutorial").SetCollider(true);
  46. ManaReso.SetActive("TutorialMask", true);
  47. ManaReso.SetActive("TutorialCollider", true);
  48. Tutorial.HightScene(0.1f, 0.075f, ManaReso.Get("SlotArrowA1"), ManaReso.Get("SlotA1"));
  49. }
  50. else if (TutorialIndexA == 6)
  51. {
  52. Garden.Instance.TutorialToRegular();
  53. ManaUI.Instance.TutorialToRegular();
  54. PrepareStep6();
  55. }
  56. }
  57. }
  58. else
  59. {
  60. ManaReso.SetActive("N_Tutorial", false);
  61. }
  62. }
  63. public static void EndStep1()
  64. {
  65. ManaReso.SetActive("PlayerBk1", false);
  66. ManaReso.SetActive("PlayerBk2", false);
  67. ManaReso.SetActive("PlayerBk3", false);
  68. Tutorial.HightDisable();
  69. Garden.Instance.TutorialToRegular();
  70. Data.SavePlayerInt("TutorialIndexA", TutorialIndexA+1);
  71. Data.SavePlayerString("Player", Tutorial.SelectPlayer);
  72. PrepareStep2();
  73. }
  74. public static void EndStep2()
  75. {
  76. ManaReso.Get("C_Main").TweenBacCG();
  77. ManaReso.SetActive("C_Coin", true);
  78. ManaReso.SetActive("C_Setting", true);
  79. ManaReso.SetActive("C_Achieve", true);
  80. ManaReso.SetActive("C_Manage", true);
  81. Tutorial.HightDisable();
  82. PrepareStep3();
  83. }
  84. public static void EndStep3()
  85. {
  86. ManaReso.SetActive("D_Quit", true);
  87. Tutorial.HightDisable();
  88. Data.SavePlayerInt("TutorialIndexA", TutorialIndexA + 1);
  89. PrepareStep4();
  90. }
  91. public static void EndStep4()
  92. {
  93. Tutorial.HightDisable();
  94. PrepareStep5();
  95. }
  96. public static void EndStep5()
  97. {
  98. Data.SavePlayerInt("TutorialIndexA", TutorialIndexA + 1);
  99. PrepareStep6();
  100. }
  101. public static void EndStep6()
  102. {
  103. Tutorial.HightDisable();
  104. PrepareStep7();
  105. }
  106. public static void EndStep7()
  107. {
  108. Tutorial.HightDisable(0, true);
  109. PrepareStep8();
  110. }
  111. public static void EndStep8()
  112. {
  113. Tutorial.HightDisable(0, true);
  114. PrepareStep9();
  115. }
  116. public static void EndStep9()
  117. {
  118. Tutorial.HightDisable();
  119. TutorialA = false;
  120. Data.SavePlayerBool("TutorialA", false);
  121. ManaReso.Get("Tutorial").SetCollider(false);
  122. }
  123. public static void PrepareStep1()
  124. {
  125. TutorialIndexA = 1;
  126. ManaReso.SetActive("N_Confirm", true);
  127. ManaReso.AddButtonEventOnetime
  128. (
  129. "N_Confirm",
  130. () =>
  131. {
  132. Tutorial.Player.name = "Player";
  133. Tutorial.Player.parent = ManaReso.Get("Garden");
  134. ManaPlayer.Player = Tutorial.Player.GetComponent<Player>();
  135. ManaReso.TraDic.Add(Tutorial.Player.name, Tutorial.Player);
  136. Tutorial.Player.CreateTweenScale(ManaReso.Get("PlayerPosTra").localScale, 1f, true, true, Curve.EaseOutQuad);
  137. Tutorial.Player.CreateTweenVec3D(ManaReso.Get("PlayerPosTra").position, 1f, false, true, true, Curve.EaseOutQuad);
  138. Tutorial.Player.TweenForVec();
  139. Tutorial.Player.TweenForScale();
  140. ManaReso.Get("Tutorial").TweenBacSr();
  141. ManaReso.Get("N_Confirm").TweenBacGra();
  142. Tween tween = ManaReso.Get("Tutorial").GetTweenSr();
  143. tween.AddEventOnetime
  144. (
  145. EventType.BackwardFinish,
  146. () =>
  147. {
  148. EndStep1();
  149. }
  150. );
  151. }
  152. );
  153. }
  154. public static void PrepareStep2()
  155. {
  156. TutorialIndexA = 2;
  157. ManaReso.Get("N_Mask").TweenConForGra();
  158. Tween tween = ManaReso.Get("N_Mask").GetTweenGra();
  159. tween.AddEventOnetime
  160. (
  161. EventType.ForwardFinish,
  162. () =>
  163. {
  164. Tutorial.HightScreen(ManaReso.Get("C_MiniGameArrow0"), ManaReso.Get("C_MiniGameArrow1"), ManaReso.Get("C_MiniGame"));
  165. }
  166. );
  167. ManaUI.Instance.TutorialToRegular();
  168. ManaReso.Get("C_Main").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
  169. ManaReso.Get("C_MiniGame").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
  170. ManaReso.Get("C_Main").TweenForCG();
  171. ManaReso.Get("C_MiniGame").TweenForCG();
  172. ManaReso.SetActive("C_Coin", false);
  173. ManaReso.SetActive("C_Setting", false);
  174. ManaReso.SetActive("C_Achieve", false);
  175. ManaReso.SetActive("C_Manage", false);
  176. ManaReso.AddButtonEventOnetime
  177. (
  178. "C_MiniGame",
  179. () =>
  180. {
  181. EndStep2();
  182. }
  183. );
  184. }
  185. public static void PrepareStep3()
  186. {
  187. TutorialIndexA = 3;
  188. ManaReso.SetActive("D_Quit", false);
  189. ManaReso.Get("Tutorial").SetCollider(false);
  190. Tween tween = ManaReso.Get("D_MiniGame").GetTweenCG();
  191. tween.AddEventOnetime
  192. (
  193. EventType.ForwardFinish,
  194. () =>
  195. {
  196. Tutorial.HightScreen(ManaReso.Get("D_BeginArrow0"), ManaReso.Get("D_BeginArrow1"), ManaReso.Get("D_Begin"));
  197. }
  198. );
  199. ManaReso.PushButtonEventOnetime
  200. (
  201. "D_Begin",
  202. () =>
  203. {
  204. Tutorial.HightDisable();
  205. }
  206. );
  207. ManaReso.AddButtonEventOnetime
  208. (
  209. "Da_GetAward",
  210. () =>
  211. {
  212. EndStep3();
  213. }
  214. );
  215. }
  216. public static void PrepareStep4()
  217. {
  218. TutorialIndexA = 4;
  219. ManaReso.Get("C_Main").TweenBacCG();
  220. Tween tween = ManaReso.Get("D_MiniGame").GetTweenCG();
  221. tween.AddEventOnetime
  222. (
  223. EventType.BackwardFinish,
  224. () =>
  225. {
  226. ManaReso.Get("Tutorial").SetCollider(true);
  227. ManaReso.Get<SpriteRenderer>("TutorialMask").material.SetColor("_Color", Color.white);
  228. Tutorial.HightScene(0.1f, 0.075f, ManaReso.Get("SlotArrowA1"), ManaReso.Get("SlotA1"));
  229. }
  230. );
  231. }
  232. public static void PrepareStep5()
  233. {
  234. TutorialIndexA = 5;
  235. Tween tween = ManaReso.Get("G_Flower").TweenForCG();
  236. tween.AddEventOnetime
  237. (
  238. EventType.ForwardFinish,
  239. () =>
  240. {
  241. Transform tra = ManaReso.Get("G_RegularGrid").GetChild(0);
  242. Tutorial.HightScreen(tra.FindChild("ArrowPos"), tra);
  243. }
  244. );
  245. ManaReso.AddButtonEventOnetime
  246. (
  247. "G_Close",
  248. () =>
  249. {
  250. Tutorial.HightDisable();
  251. }
  252. );
  253. tween.AddEventOnetime
  254. (
  255. EventType.BackwardFinish,
  256. () =>
  257. {
  258. EndStep5();
  259. }
  260. );
  261. }
  262. public static void PrepareStep6()
  263. {
  264. TutorialIndexA = 6;
  265. ManaReso.Get("C_Main").TweenForCG();
  266. Tween tween = ManaReso.Get("C_Main").GetTweenCG();
  267. tween.AddEventOnetime
  268. (
  269. EventType.ForwardFinish, () =>
  270. {
  271. Tutorial.HightScreen(ManaReso.Get("C_ManageArrow"), ManaReso.Get("C_Manage"));
  272. }
  273. );
  274. ManaReso.AddButtonEventOnetime
  275. (
  276. "C_Manage",
  277. () =>
  278. {
  279. EndStep6();
  280. }
  281. );
  282. }
  283. public static void PrepareStep7()
  284. {
  285. TutorialIndexA = 7;
  286. Tween tween = ManaReso.Get("F_Manage0").GetTweenVec();
  287. tween.AddEventOnetime
  288. (
  289. EventType.ForwardFinish,
  290. () =>
  291. {
  292. Transform tra = ManaReso.Get("Fa_Grid").GetChild(0);
  293. Tutorial.HightScreen(tra.FindChild("Arrow1"), tra.FindChild("Arrow0"), tra.FindChild("Btn"));
  294. }
  295. );
  296. tween = ManaReso.Get("Fe_Info").GetTweenCG();
  297. tween.AddEventOnetime
  298. (
  299. EventType.ForwardFinish, () =>
  300. {
  301. Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
  302. }
  303. );
  304. }
  305. public static void PrepareStep8()
  306. {
  307. TutorialIndexA = 8;
  308. Tween tween = ManaReso.Get("Fa_Scrr").GetTweenRect();
  309. tween.AddEventOnetime
  310. (
  311. EventType.ForwardFinish,
  312. () =>
  313. {
  314. Transform tra = ManaData.SkillDic["Skill1"].SkillItem;
  315. Tutorial.HightScreen(tra.FindChild("Arrow1"), tra.FindChild("Arrow0"), tra.FindChild("Btn"));
  316. }
  317. );
  318. tween = ManaReso.Get("Fe_Info").GetTweenCG();
  319. tween.AddEventOnetime
  320. (
  321. EventType.ForwardFinish,
  322. () =>
  323. {
  324. Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
  325. }
  326. );
  327. }
  328. public static void PrepareStep9()
  329. {
  330. TutorialIndexA = 9;
  331. Tween tween = ManaReso.Get("Fe_Info").GetTweenCG();
  332. tween.AddEventOnetime
  333. (
  334. EventType.BackwardFinish,
  335. () =>
  336. {
  337. Tutorial.HightScreen(ManaReso.Get("F_SkillArrow00"), ManaReso.Get("F_Skill0"));
  338. }
  339. );
  340. }
  341. public static void EndStep10()
  342. {
  343. Tutorial.HightDisable();
  344. }
  345. public static void EndStep11()
  346. {
  347. Tutorial.HightDisable();
  348. TutorialB = false;
  349. }
  350. public static void PrepareStep10()
  351. {
  352. Data.SavePlayerBool("TutorialB", false);
  353. ManaReso.Get("Fe_Info").TweenConBacCG();
  354. ManaReso.Get("N_Mask").TweenForGra();
  355. ManaReso.SetActive("N_Mask", true);
  356. ManaReso.SetActive("N_Arrow", true);
  357. ManaReso.SetActive("N_Tutorial", true);
  358. Transform grid = ManaReso.Get("Fa_Grid");
  359. Transform item = ManaData.SkillDic["Ability2"].SkillItem;
  360. RectTransform scrr = ManaReso.Get<RectTransform>("Fa_Scrr");
  361. Vector2 v1 = scrr.position + new Vector3(0, scrr.rect.height/2, 0);
  362. Vector2 v2 = item.position;
  363. Vector3 offset = v1 - v2;
  364. offset.x = 0;
  365. Move move = ManaReso.Get("Fa_Grid").Move2D(grid.position + offset, 1f, false, Curve.EaseOutQuad);
  366. move.AddEventOnetime
  367. (
  368. EventType.ForwardFinish,
  369. () =>
  370. {
  371. Tutorial.HightScreen(item.FindChild("Arrow1"), item.FindChild("Arrow0"), item.FindChild("Btn"));
  372. }
  373. );
  374. Tween tween = ManaReso.Get("Fe_Info").GetTweenCG();
  375. tween.AddEventOnetime
  376. (
  377. EventType.ForwardFinish,
  378. () =>
  379. {
  380. Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
  381. }
  382. );
  383. tween = ManaReso.Get("F_Manage").GetTweenGra();
  384. tween.AddEventOnetime
  385. (
  386. EventType.BackwardFinish,
  387. () =>
  388. {
  389. move = ManaReso.Get("MainCamera").GetZoom2D();
  390. move.AddEventOnetime
  391. (
  392. EventType.ForwardFinish,
  393. () =>
  394. {
  395. PrepareStep11();
  396. }
  397. );
  398. }
  399. );
  400. }
  401. public static void PrepareStep11()
  402. {
  403. ManaReso.Get("N_Mask").TweenForGra();
  404. ManaReso.Get<Button>("C_Manage").onClick.Invoke();
  405. Tween tween = ManaReso.Get("F_Manage0").GetTweenVec();
  406. tween.AddEventOnetime
  407. (
  408. EventType.ForwardFinish,
  409. () =>
  410. {
  411. Auxiliary.Instance.DelayCall
  412. (
  413. () =>
  414. {
  415. ManaReso.Get<Button>("F_Elf").onClick.Invoke();
  416. },
  417. 0.25f
  418. );
  419. Auxiliary.Instance.DelayCall
  420. (
  421. () =>
  422. {
  423. Transform item = ManaData.SkillDic["Ability5"].SkillItem;
  424. Tutorial.HightScreen(item.FindChild("Arrow1"), item.FindChild("Arrow0"), item.FindChild("Btn"));
  425. },
  426. 0.5f
  427. );
  428. }
  429. );
  430. tween = ManaReso.Get("Fe_Info").GetTweenCG();
  431. tween.AddEventOnetime
  432. (
  433. EventType.ForwardFinish,
  434. () =>
  435. {
  436. Tutorial.HightScreen(ManaReso.Get("Fe_BtnArrow0"), ManaReso.Get("Fe_BtnArrow1"), ManaReso.Get("Fe_Btn"));
  437. }
  438. );
  439. ManaReso.AddButtonEventOnetime
  440. (
  441. "Fe_Btn", () =>
  442. {
  443. EndStep11();
  444. }
  445. );
  446. }
  447. }