ManaAnim.cs 26 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using UnityEngine.Events;
  4. using System;
  5. using System.Collections;
  6. using System.Collections.Generic;
  7. public enum Curve
  8. {
  9. Linear,
  10. EaseOutQuad,
  11. }
  12. public delegate float CurveFunctionF(float timer, float duration, float start, float delta);
  13. public delegate Color CurveFunctionC(float timer, float duration, Color start, Color delta);
  14. public delegate Vector3 CurveFunctionV(float timer, float duration, Vector3 start, Vector3 delta);
  15. public class ManaAnim : Regist
  16. {
  17. #region 变量
  18. public static List<Move> MoveList;
  19. public static List<Tween> TweenForList;
  20. public static List<Tween> TweenBacList;
  21. public static Dictionary<Curve, CurveFunctionF> FunctionDicF;
  22. public static Dictionary<Curve, CurveFunctionC> FunctionDicC;
  23. public static Dictionary<Curve, CurveFunctionV> FunctionDicV;
  24. public static Dictionary<Transform, MoveVec> MoveVecDic;
  25. public static Dictionary<Transform, TweenSr> TweenSrDic;
  26. public static Dictionary<Transform, TweenCG> TweenCgDic;
  27. public static Dictionary<Transform, TweenGra> TweenGraDic;
  28. public static Dictionary<Transform, TweenVec> TweenVecDic;
  29. public static Dictionary<Transform, TweenRect> TweenRectDic;
  30. public static Dictionary<Transform, TweenScale> TweenScaleDic;
  31. public static Dictionary<Transform, TweenAudio> TweenAudioDic;
  32. #endregion
  33. private void FixedUpdate()
  34. {
  35. for (int i = 0; i < MoveList.Count; i++)
  36. {
  37. if (MoveList[i].DoMove())
  38. {
  39. i--;
  40. }
  41. }
  42. for (int i = 0; i < TweenForList.Count; i++)
  43. {
  44. if (TweenForList[i].DoForward())
  45. {
  46. i--;
  47. }
  48. }
  49. for (int i = 0; i < TweenBacList.Count; i++)
  50. {
  51. if (TweenBacList[i].DoBackward())
  52. {
  53. i--;
  54. }
  55. }
  56. }
  57. public override void RegistValueA()
  58. {
  59. MoveList = new List<Move>();
  60. TweenForList = new List<Tween>();
  61. TweenBacList = new List<Tween>();
  62. FunctionDicF = new Dictionary<Curve, CurveFunctionF>();
  63. FunctionDicC = new Dictionary<Curve, CurveFunctionC>();
  64. FunctionDicV = new Dictionary<Curve, CurveFunctionV>();
  65. MoveVecDic = new Dictionary<Transform, MoveVec>();
  66. TweenSrDic = new Dictionary<Transform, TweenSr>();
  67. TweenCgDic = new Dictionary<Transform, TweenCG>();
  68. TweenGraDic = new Dictionary<Transform, TweenGra>();
  69. TweenVecDic = new Dictionary<Transform, TweenVec>();
  70. TweenRectDic = new Dictionary<Transform, TweenRect>();
  71. TweenScaleDic = new Dictionary<Transform, TweenScale>();
  72. TweenAudioDic = new Dictionary<Transform, TweenAudio>();
  73. FunctionDicF.Add(Curve.Linear, Linear);
  74. FunctionDicF.Add(Curve.EaseOutQuad, EaseOutQuad);
  75. FunctionDicC.Add(Curve.Linear, Linear);
  76. FunctionDicC.Add(Curve.EaseOutQuad, EaseOutQuad);
  77. FunctionDicV.Add(Curve.Linear, Linear);
  78. FunctionDicV.Add(Curve.EaseOutQuad, EaseOutQuad);
  79. }
  80. #region 曲线
  81. public static float Linear(float timer, float duration, float start, float delta)
  82. {
  83. if (Math.Abs(duration) < 0.0005f)
  84. {
  85. return delta + start;
  86. }
  87. else
  88. {
  89. return delta * timer / duration + start;
  90. }
  91. }
  92. public static Color Linear(float timer, float duration, Color start, Color delta)
  93. {
  94. return new Color(Linear(timer, duration, start.r, delta.r), Linear(timer, duration, start.g, delta.g), Linear(timer, duration, start.b, delta.b), Linear(timer, duration, start.a, delta.a));
  95. }
  96. public static Vector3 Linear(float timer, float duration, Vector3 start, Vector3 delta)
  97. {
  98. return new Vector3(Linear(timer, duration, start.x, delta.x), Linear(timer, duration, start.y, delta.y), Linear(timer, duration, start.z, delta.z));
  99. }
  100. public static float EaseOutQuad(float timer, float duration, float start, float delta)
  101. {
  102. if (Math.Abs(duration) < 0.0005f)
  103. {
  104. return delta + start;
  105. }
  106. else
  107. {
  108. timer /= duration;
  109. return -delta * timer * (timer - 2) + start;
  110. }
  111. }
  112. public static Color EaseOutQuad(float timer, float duration, Color start, Color delta)
  113. {
  114. return new Color(EaseOutQuad(timer, duration, start.r, delta.r), EaseOutQuad(timer, duration, start.g, delta.g), EaseOutQuad(timer, duration, start.b, delta.b), EaseOutQuad(timer, duration, start.a, delta.a));
  115. }
  116. public static Vector3 EaseOutQuad(float timer, float duration, Vector3 start, Vector3 delta)
  117. {
  118. return new Vector3(EaseOutQuad(timer, duration, start.x, delta.x), EaseOutQuad(timer, duration, start.y, delta.y), EaseOutQuad(timer, duration, start.z, delta.z));
  119. }
  120. #endregion
  121. #region 播放动画
  122. public static void MoveVec(Transform target, Vector3 destination, float duration, Curve curve)
  123. {
  124. MoveVec moveVec;
  125. if (MoveVecDic.TryGetValue(target, out moveVec))
  126. {
  127. moveVec.StartMove(destination, duration, curve);
  128. }
  129. else
  130. {
  131. moveVec = CreateMoveVec(target);
  132. moveVec.StartMove(destination, duration, curve);
  133. }
  134. }
  135. public static void TweenForSr(Transform target)
  136. {
  137. TweenSr tweenSr;
  138. if (TweenSrDic.TryGetValue(target, out tweenSr))
  139. {
  140. tweenSr.StartForward();
  141. }
  142. else
  143. {
  144. throw new Exception();
  145. }
  146. }
  147. public static void TweenForCG(Transform target)
  148. {
  149. TweenCG tweenCG;
  150. if (TweenCgDic.TryGetValue(target, out tweenCG))
  151. {
  152. tweenCG.StartForward();
  153. }
  154. else
  155. {
  156. throw new Exception();
  157. }
  158. }
  159. public static void TweenForGra(Transform target)
  160. {
  161. TweenGra tweenGra;
  162. if (TweenGraDic.TryGetValue(target, out tweenGra))
  163. {
  164. tweenGra.StartForward();
  165. }
  166. else
  167. {
  168. throw new Exception();
  169. }
  170. }
  171. public static void TweenForVec(Transform target)
  172. {
  173. TweenVec tweenVec;
  174. if (TweenVecDic.TryGetValue(target, out tweenVec))
  175. {
  176. tweenVec.StartForward();
  177. }
  178. else
  179. {
  180. throw new Exception();
  181. }
  182. }
  183. public static void TweenForRect(Transform target)
  184. {
  185. TweenRect tweenRect;
  186. if (TweenRectDic.TryGetValue(target, out tweenRect))
  187. {
  188. tweenRect.StartForward();
  189. }
  190. else
  191. {
  192. throw new Exception();
  193. }
  194. }
  195. public static void TweenForScale(Transform target)
  196. {
  197. TweenScale tweenScale;
  198. if (TweenScaleDic.TryGetValue(target, out tweenScale))
  199. {
  200. tweenScale.StartForward();
  201. }
  202. else
  203. {
  204. throw new Exception();
  205. }
  206. }
  207. public static void TweenForAudio(Transform target)
  208. {
  209. TweenAudio tween;
  210. if (TweenAudioDic.TryGetValue(target, out tween))
  211. {
  212. tween.StartForward();
  213. }
  214. else
  215. {
  216. throw new Exception();
  217. }
  218. }
  219. public static void TweenBacSr(Transform target)
  220. {
  221. TweenSr tweenSr;
  222. if (TweenSrDic.TryGetValue(target, out tweenSr))
  223. {
  224. tweenSr.StartBackward();
  225. }
  226. else
  227. {
  228. throw new Exception();
  229. }
  230. }
  231. public static void TweenBacCG(Transform target)
  232. {
  233. TweenCG tweenCG;
  234. if (TweenCgDic.TryGetValue(target, out tweenCG))
  235. {
  236. tweenCG.StartBackward();
  237. }
  238. else
  239. {
  240. throw new Exception();
  241. }
  242. }
  243. public static void TweenBacGra(Transform target)
  244. {
  245. TweenGra tweenGra;
  246. if (TweenGraDic.TryGetValue(target, out tweenGra))
  247. {
  248. tweenGra.StartBackward();
  249. }
  250. else
  251. {
  252. throw new Exception(target.name);
  253. }
  254. }
  255. public static void TweenBacVec(Transform target)
  256. {
  257. TweenVec tweenVec;
  258. if (TweenVecDic.TryGetValue(target, out tweenVec))
  259. {
  260. tweenVec.StartBackward();
  261. }
  262. else
  263. {
  264. throw new Exception(target.name);
  265. }
  266. }
  267. public static void TweenBacRect(Transform target)
  268. {
  269. TweenRect tweenRect;
  270. if (TweenRectDic.TryGetValue(target, out tweenRect))
  271. {
  272. tweenRect.StartBackward();
  273. }
  274. else
  275. {
  276. throw new Exception();
  277. }
  278. }
  279. public static void TweenBacScale(Transform target)
  280. {
  281. TweenScale tweenScale;
  282. if (TweenScaleDic.TryGetValue(target, out tweenScale))
  283. {
  284. tweenScale.StartBackward();
  285. }
  286. else
  287. {
  288. throw new Exception();
  289. }
  290. }
  291. public static void TweenBacAudio(Transform target)
  292. {
  293. TweenAudio tween;
  294. if (TweenAudioDic.TryGetValue(target, out tween))
  295. {
  296. tween.StartBackward();
  297. }
  298. else
  299. {
  300. throw new Exception();
  301. }
  302. }
  303. public static void TweenConForSr(Transform target)
  304. {
  305. TweenSr tweenSr;
  306. if (TweenSrDic.TryGetValue(target, out tweenSr))
  307. {
  308. tweenSr.ConfineForward();
  309. }
  310. else
  311. {
  312. throw new Exception();
  313. }
  314. }
  315. public static void TweenConForCG(Transform target)
  316. {
  317. TweenCG tweenCG;
  318. if (TweenCgDic.TryGetValue(target, out tweenCG))
  319. {
  320. tweenCG.ConfineForward();
  321. }
  322. else
  323. {
  324. throw new Exception();
  325. }
  326. }
  327. public static void TweenConForGra(Transform target)
  328. {
  329. TweenGra tweenGra;
  330. if (TweenGraDic.TryGetValue(target, out tweenGra))
  331. {
  332. tweenGra.ConfineForward();
  333. }
  334. else
  335. {
  336. throw new Exception();
  337. }
  338. }
  339. public static void TweenConForVec(Transform target)
  340. {
  341. TweenVec tweenVec;
  342. if (TweenVecDic.TryGetValue(target, out tweenVec))
  343. {
  344. tweenVec.ConfineForward();
  345. }
  346. else
  347. {
  348. throw new Exception();
  349. }
  350. }
  351. public static void TweenConForRect(Transform target)
  352. {
  353. TweenRect tweenRect;
  354. if (TweenRectDic.TryGetValue(target, out tweenRect))
  355. {
  356. tweenRect.ConfineForward();
  357. }
  358. else
  359. {
  360. throw new Exception();
  361. }
  362. }
  363. public static void TweenConForScale(Transform target)
  364. {
  365. TweenScale tweenScale;
  366. if (TweenScaleDic.TryGetValue(target, out tweenScale))
  367. {
  368. tweenScale.ConfineForward();
  369. }
  370. else
  371. {
  372. throw new Exception();
  373. }
  374. }
  375. public static void TweenConForAudio(Transform target)
  376. {
  377. TweenAudio tween;
  378. if (TweenAudioDic.TryGetValue(target, out tween))
  379. {
  380. tween.ConfineForward();
  381. }
  382. else
  383. {
  384. throw new Exception();
  385. }
  386. }
  387. public static void TweenConBacSr(Transform target)
  388. {
  389. TweenSr tweenSr;
  390. if (TweenSrDic.TryGetValue(target, out tweenSr))
  391. {
  392. tweenSr.ConfineBackward();
  393. }
  394. else
  395. {
  396. throw new Exception();
  397. }
  398. }
  399. public static void TweenConBacCG(Transform target)
  400. {
  401. TweenCG tweenCG;
  402. if (TweenCgDic.TryGetValue(target, out tweenCG))
  403. {
  404. tweenCG.ConfineBackward();
  405. }
  406. else
  407. {
  408. throw new Exception();
  409. }
  410. }
  411. public static void TweenConBacGra(Transform target)
  412. {
  413. TweenGra tweenGra;
  414. if (TweenGraDic.TryGetValue(target, out tweenGra))
  415. {
  416. tweenGra.ConfineBackward();
  417. }
  418. else
  419. {
  420. throw new Exception(target.name);
  421. }
  422. }
  423. public static void TweenConBacVec(Transform target)
  424. {
  425. TweenVec tweenVec;
  426. if (TweenVecDic.TryGetValue(target, out tweenVec))
  427. {
  428. tweenVec.ConfineBackward();
  429. }
  430. else
  431. {
  432. throw new Exception(target.name);
  433. }
  434. }
  435. public static void TweenConBacRect(Transform target)
  436. {
  437. TweenRect tweenRect;
  438. if (TweenRectDic.TryGetValue(target, out tweenRect))
  439. {
  440. tweenRect.ConfineBackward();
  441. }
  442. else
  443. {
  444. throw new Exception();
  445. }
  446. }
  447. public static void TweenConBacScale(Transform target)
  448. {
  449. TweenScale tweenScale;
  450. if (TweenScaleDic.TryGetValue(target, out tweenScale))
  451. {
  452. tweenScale.ConfineBackward();
  453. }
  454. else
  455. {
  456. throw new Exception();
  457. }
  458. }
  459. public static void TweenConBacAudio(Transform target)
  460. {
  461. TweenAudio tween;
  462. if (TweenAudioDic.TryGetValue(target, out tween))
  463. {
  464. tween.ConfineBackward();
  465. }
  466. else
  467. {
  468. throw new Exception();
  469. }
  470. }
  471. #endregion
  472. #region 得到动画
  473. public static MoveVec GetMoveVec(Transform target)
  474. {
  475. MoveVec moveVec;
  476. if (MoveVecDic.TryGetValue(target, out moveVec))
  477. {
  478. return moveVec;
  479. }
  480. else
  481. {
  482. throw new Exception();
  483. }
  484. }
  485. public static TweenSr GetTweenSr(Transform target)
  486. {
  487. TweenSr tweenSr;
  488. if (TweenSrDic.TryGetValue(target, out tweenSr))
  489. {
  490. return tweenSr;
  491. }
  492. else
  493. {
  494. throw new Exception();
  495. }
  496. }
  497. public static TweenCG GetTweenCG(Transform target)
  498. {
  499. TweenCG tweenCG;
  500. if (TweenCgDic.TryGetValue(target, out tweenCG))
  501. {
  502. return tweenCG;
  503. }
  504. else
  505. {
  506. throw new Exception();
  507. }
  508. }
  509. public static TweenGra GetTweenGra(Transform target)
  510. {
  511. TweenGra tweenGra;
  512. if (TweenGraDic.TryGetValue(target, out tweenGra))
  513. {
  514. return tweenGra;
  515. }
  516. else
  517. {
  518. throw new Exception();
  519. }
  520. }
  521. public static TweenVec GetTweenVec(Transform target)
  522. {
  523. TweenVec tweenVec;
  524. if (TweenVecDic.TryGetValue(target, out tweenVec))
  525. {
  526. return tweenVec;
  527. }
  528. else
  529. {
  530. throw new Exception();
  531. }
  532. }
  533. public static TweenRect GetTweenRect(Transform target)
  534. {
  535. TweenRect tweenRect;
  536. if (TweenRectDic.TryGetValue(target, out tweenRect))
  537. {
  538. return tweenRect;
  539. }
  540. else
  541. {
  542. throw new Exception();
  543. }
  544. }
  545. public static TweenScale GetTweenScale(Transform target)
  546. {
  547. TweenScale tweenScale;
  548. if (TweenScaleDic.TryGetValue(target, out tweenScale))
  549. {
  550. return tweenScale;
  551. }
  552. else
  553. {
  554. throw new Exception();
  555. }
  556. }
  557. public static TweenAudio GetTweenAudio(Transform target)
  558. {
  559. TweenAudio tween;
  560. if (TweenAudioDic.TryGetValue(target, out tween))
  561. {
  562. return tween;
  563. }
  564. else
  565. {
  566. throw new Exception();
  567. }
  568. }
  569. #endregion
  570. #region 创建动画
  571. public static MoveVec CreateMoveVec(Transform target)
  572. {
  573. if (MoveVecDic.ContainsKey(target))
  574. {
  575. MoveVec move = MoveVecDic[target];
  576. move = new MoveVec(target);
  577. return move;
  578. }
  579. else
  580. {
  581. MoveVec move = new MoveVec(target);
  582. MoveVecDic.Add(target, move);
  583. return move;
  584. }
  585. }
  586. public static TweenSr CreateTweenSr(Transform target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve)
  587. {
  588. if (TweenSrDic.ContainsKey(target))
  589. {
  590. SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
  591. TweenSr tween = TweenSrDic[target];
  592. tween = new TweenSr(sr, origin, destination, duration, originActive, destActive, curve);
  593. return tween;
  594. }
  595. else
  596. {
  597. SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
  598. TweenSr tween = new TweenSr(sr, origin, destination, duration, originActive, destActive, curve);
  599. TweenSrDic.Add(target, tween);
  600. return tween;
  601. }
  602. }
  603. public static TweenSr CreateTweenSr(Transform target, Color destination, float duration, bool originActive, bool destActive, Curve curve)
  604. {
  605. if (TweenSrDic.ContainsKey(target))
  606. {
  607. SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
  608. TweenSr tween = TweenSrDic[target];
  609. tween = new TweenSr(sr, sr.color, destination, duration, originActive, destActive, curve);
  610. return tween;
  611. }
  612. else
  613. {
  614. SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
  615. TweenSr tween = new TweenSr(sr, sr.color, destination, duration, originActive, destActive, curve);
  616. TweenSrDic.Add(target, tween);
  617. return tween;
  618. }
  619. }
  620. public static TweenCG CreateTweenCG(Transform target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
  621. {
  622. if (TweenCgDic.ContainsKey(target))
  623. {
  624. CanvasGroup cg = target.GetComponent<CanvasGroup>();
  625. TweenCG tween = TweenCgDic[target];
  626. tween = new TweenCG(cg, origin, destination, duration, originActive, destActive, curve);
  627. return tween;
  628. }
  629. else
  630. {
  631. CanvasGroup cg = target.GetComponent<CanvasGroup>();
  632. TweenCG tween = new TweenCG(cg, origin, destination, duration, originActive, destActive, curve);
  633. TweenCgDic.Add(target, tween);
  634. return tween;
  635. }
  636. }
  637. public static TweenCG CreateTweenCG(Transform target, float destination, float duration, bool originActive, bool destActive, Curve curve)
  638. {
  639. if (TweenCgDic.ContainsKey(target))
  640. {
  641. CanvasGroup cg = target.GetComponent<CanvasGroup>();
  642. TweenCG tween = TweenCgDic[target];
  643. tween = new TweenCG(cg, cg.alpha, destination, duration, originActive, destActive, curve);
  644. return tween;
  645. }
  646. else
  647. {
  648. CanvasGroup cg = target.GetComponent<CanvasGroup>();
  649. TweenCG tween = new TweenCG(cg, cg.alpha, destination, duration, originActive, destActive, curve);
  650. TweenCgDic.Add(target, tween);
  651. return tween;
  652. }
  653. }
  654. public static TweenGra CreateTweenGra(Transform target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve)
  655. {
  656. if (TweenGraDic.ContainsKey(target))
  657. {
  658. Graphic graphic = target.GetComponent<Graphic>();
  659. TweenGra tween = TweenGraDic[target];
  660. tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve);
  661. return tween;
  662. }
  663. else
  664. {
  665. Graphic graphic = target.GetComponent<Graphic>();
  666. TweenGra tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve);
  667. TweenGraDic.Add(target, tween);
  668. return tween;
  669. }
  670. }
  671. public static TweenGra CreateTweenGra(Transform target, Color destination, float duration, bool originActive, bool destActive, Curve curve)
  672. {
  673. if (TweenGraDic.ContainsKey(target))
  674. {
  675. Graphic graphic = target.GetComponent<Graphic>();
  676. TweenGra tween = TweenGraDic[target];
  677. tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve);
  678. return tween;
  679. }
  680. else
  681. {
  682. Graphic graphic = target.GetComponent<Graphic>();
  683. TweenGra tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve);
  684. TweenGraDic.Add(target, tween);
  685. return tween;
  686. }
  687. }
  688. public static TweenVec CreateTweenVec(Transform target, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
  689. {
  690. origin.z = target.position.z;
  691. destination.z = target.position.z;
  692. if (TweenVecDic.ContainsKey(target))
  693. {
  694. TweenVec tween = TweenVecDic[target];
  695. tween = new TweenVec(target, origin, destination, duration, originActive, destActive, curve);
  696. return tween;
  697. }
  698. else
  699. {
  700. TweenVec tween = new TweenVec(target, origin, destination, duration, originActive, destActive, curve);
  701. TweenVecDic.Add(target, tween);
  702. return tween;
  703. }
  704. }
  705. public static TweenVec CreateTweenVec(Transform target, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
  706. {
  707. destination.z = target.position.z;
  708. if (TweenVecDic.ContainsKey(target))
  709. {
  710. TweenVec tween = TweenVecDic[target];
  711. tween = new TweenVec(target, target.position, destination, duration, originActive, destActive, curve);
  712. return tween;
  713. }
  714. else
  715. {
  716. TweenVec tween = new TweenVec(target, target.position, destination, duration, originActive, destActive, curve);
  717. TweenVecDic.Add(target, tween);
  718. return tween;
  719. }
  720. }
  721. public static TweenRect CreateTweenRect(Transform target, Vector2 origin, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve)
  722. {
  723. if (TweenRectDic.ContainsKey(target))
  724. {
  725. RectTransform rectTra = target.GetComponent<RectTransform>();
  726. TweenRect tween = TweenRectDic[target];
  727. tween = new TweenRect(rectTra, origin, destination, duration, originActive, destActive, curve);
  728. return tween;
  729. }
  730. else
  731. {
  732. RectTransform rectTra = target.GetComponent<RectTransform>();
  733. TweenRect tween = new TweenRect(rectTra, origin, destination, duration, originActive, destActive, curve);
  734. TweenRectDic.Add(target, tween);
  735. return tween;
  736. }
  737. }
  738. public static TweenRect CreateTweenRect(Transform target, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve)
  739. {
  740. if (TweenRectDic.ContainsKey(target))
  741. {
  742. RectTransform rectTra = target.GetComponent<RectTransform>();
  743. TweenRect tween = TweenRectDic[target];
  744. tween = new TweenRect(rectTra, rectTra.rect.size, destination, duration, originActive, destActive, curve);
  745. return tween;
  746. }
  747. else
  748. {
  749. RectTransform rectTra = target.GetComponent<RectTransform>();
  750. TweenRect tween = new TweenRect(rectTra, rectTra.rect.size, destination, duration, originActive, destActive, curve);
  751. TweenRectDic.Add(target, tween);
  752. return tween;
  753. }
  754. }
  755. public static TweenScale CreateTweenScale(Transform target, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
  756. {
  757. if (TweenScaleDic.ContainsKey(target))
  758. {
  759. TweenScale tween = TweenScaleDic[target];
  760. tween = new TweenScale(target, origin, destination, duration, originActive, destActive, curve);
  761. return tween;
  762. }
  763. else
  764. {
  765. TweenScale tween = new TweenScale(target, origin, destination, duration, originActive, destActive, curve);
  766. TweenScaleDic.Add(target, tween);
  767. return tween;
  768. }
  769. }
  770. public static TweenScale CreateTweenScale(Transform target, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
  771. {
  772. if (TweenScaleDic.ContainsKey(target))
  773. {
  774. TweenScale tween = TweenScaleDic[target];
  775. tween = new TweenScale(target, target.lossyScale, destination, duration, originActive, destActive, curve);
  776. return tween;
  777. }
  778. else
  779. {
  780. TweenScale tween = new TweenScale(target, target.lossyScale, destination, duration, originActive, destActive, curve);
  781. TweenScaleDic.Add(target, tween);
  782. return tween;
  783. }
  784. }
  785. public static TweenAudio CreateTweenAudio(Transform target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
  786. {
  787. if (TweenAudioDic.ContainsKey(target))
  788. {
  789. TweenAudio tween = TweenAudioDic[target];
  790. tween = new TweenAudio(target.GetComponent<AudioSource>(), origin, destination, duration, originActive, destActive, curve);
  791. return tween;
  792. }
  793. else
  794. {
  795. TweenAudio tween = new TweenAudio(target.GetComponent<AudioSource>(), origin, destination, duration, originActive, destActive, curve);
  796. TweenAudioDic.Add(target, tween);
  797. return tween;
  798. }
  799. }
  800. public static TweenAudio CreateTweenAudio(Transform target, float destination, float duration, bool originActive, bool destActive, Curve curve)
  801. {
  802. if (TweenAudioDic.ContainsKey(target))
  803. {
  804. AudioSource audio = target.GetComponent<AudioSource>();
  805. TweenAudio tween = TweenAudioDic[target];
  806. tween = new TweenAudio(audio , audio.volume, destination, duration, originActive, destActive, curve);
  807. return tween;
  808. }
  809. else
  810. {
  811. AudioSource audio = target.GetComponent<AudioSource>();
  812. TweenAudio tween = new TweenAudio(audio, audio.volume, destination, duration, originActive, destActive, curve);
  813. TweenAudioDic.Add(target, tween);
  814. return tween;
  815. }
  816. }
  817. #endregion
  818. }