ManaAnim.cs 48 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891
  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 enum EventType
  13. {
  14. ForwardStart,
  15. BackwardStart,
  16. ForwardFinish,
  17. BackwardFinish,
  18. }
  19. public delegate float ShakeFunctionF(float timer, float duration, int repeat, float start, float strength);
  20. public delegate Color ShakeFunctionC(float timer, float duration, int repeat, Color start, Color strength);
  21. public delegate Vector3 ShakeFunctionV(float timer, float duration, int repeat, Vector3 start, Vector3 strength);
  22. public delegate float CurveFunctionF(float timer, float duration, float start, float delta);
  23. public delegate Color CurveFunctionC(float timer, float duration, Color start, Color delta);
  24. public delegate Vector3 CurveFunctionV(float timer, float duration, Vector3 start, Vector3 delta);
  25. public class ManaAnim : Regist
  26. {
  27. #region 变量
  28. public static List<Move> MoveList;
  29. public static List<Tween> TweenForList;
  30. public static List<Tween> TweenBacList;
  31. public static Dictionary<Curve, ShakeFunctionF> ShakeFuncDicF;
  32. public static Dictionary<Curve, ShakeFunctionC> ShakeFuncDicC;
  33. public static Dictionary<Curve, ShakeFunctionV> ShakeFuncDicV;
  34. public static Dictionary<Curve, CurveFunctionF> CurveFuncDicF;
  35. public static Dictionary<Curve, CurveFunctionC> CurveFuncDicC;
  36. public static Dictionary<Curve, CurveFunctionV> CurveFuncDicV;
  37. public static Dictionary<Transform, Shake> ShakeDic;
  38. public static Dictionary<Transform, Move2D> MoveDic2D;
  39. public static Dictionary<Transform, Move3D> MoveDic3D;
  40. public static Dictionary<Transform, TweenSr> TweenSrDic;
  41. public static Dictionary<Transform, TweenCG> TweenCgDic;
  42. public static Dictionary<Transform, TweenGra> TweenGraDic;
  43. public static Dictionary<Transform, TweenVec> TweenVecDic;
  44. public static Dictionary<Transform, TweenText> TweenTextDic;
  45. public static Dictionary<Transform, TweenRect> TweenRectDic;
  46. public static Dictionary<Transform, TweenScale> TweenScaleDic;
  47. public static Dictionary<Transform, TweenAudio> TweenAudioDic;
  48. public static Dictionary<Transform, TweenNumber> TweenNumberDic;
  49. #endregion
  50. public void FixedUpdate()
  51. {
  52. for (int i = 0; i < MoveList.Count; i++)
  53. {
  54. if (MoveList[i].Do())
  55. {
  56. i--;
  57. }
  58. }
  59. for (int i = 0; i < TweenForList.Count; i++)
  60. {
  61. if (TweenForList[i].DoForward())
  62. {
  63. i--;
  64. }
  65. }
  66. for (int i = 0; i < TweenBacList.Count; i++)
  67. {
  68. if (TweenBacList[i].DoBackward())
  69. {
  70. i--;
  71. }
  72. }
  73. }
  74. public override void RegistValueA()
  75. {
  76. MoveList = new List<Move>();
  77. TweenForList = new List<Tween>();
  78. TweenBacList = new List<Tween>();
  79. ShakeFuncDicF = new Dictionary<Curve, ShakeFunctionF>();
  80. ShakeFuncDicC = new Dictionary<Curve, ShakeFunctionC>();
  81. ShakeFuncDicV = new Dictionary<Curve, ShakeFunctionV>();
  82. CurveFuncDicF = new Dictionary<Curve, CurveFunctionF>();
  83. CurveFuncDicC = new Dictionary<Curve, CurveFunctionC>();
  84. CurveFuncDicV = new Dictionary<Curve, CurveFunctionV>();
  85. ShakeDic = new Dictionary<Transform, Shake>();
  86. MoveDic3D = new Dictionary<Transform, Move3D>();
  87. MoveDic2D = new Dictionary<Transform, Move2D>();
  88. TweenSrDic = new Dictionary<Transform, TweenSr>();
  89. TweenCgDic = new Dictionary<Transform, TweenCG>();
  90. TweenGraDic = new Dictionary<Transform, TweenGra>();
  91. TweenVecDic = new Dictionary<Transform, TweenVec>();
  92. TweenTextDic = new Dictionary<Transform, TweenText>();
  93. TweenRectDic = new Dictionary<Transform, TweenRect>();
  94. TweenScaleDic = new Dictionary<Transform, TweenScale>();
  95. TweenAudioDic = new Dictionary<Transform, TweenAudio>();
  96. TweenNumberDic = new Dictionary<Transform, TweenNumber>();
  97. ShakeFuncDicF.Add(Curve.Linear, ShakeLinear);
  98. ShakeFuncDicF.Add(Curve.EaseOutQuad, ShakeEaseOutQuad);
  99. ShakeFuncDicC.Add(Curve.Linear, ShakeLinear);
  100. ShakeFuncDicC.Add(Curve.EaseOutQuad, ShakeEaseOutQuad);
  101. ShakeFuncDicV.Add(Curve.Linear, ShakeLinear);
  102. ShakeFuncDicV.Add(Curve.EaseOutQuad, ShakeEaseOutQuad);
  103. CurveFuncDicF.Add(Curve.Linear, Linear);
  104. CurveFuncDicF.Add(Curve.EaseOutQuad, EaseOutQuad);
  105. CurveFuncDicC.Add(Curve.Linear, Linear);
  106. CurveFuncDicC.Add(Curve.EaseOutQuad, EaseOutQuad);
  107. CurveFuncDicV.Add(Curve.Linear, Linear);
  108. CurveFuncDicV.Add(Curve.EaseOutQuad, EaseOutQuad);
  109. }
  110. public override void TutorialRegistValue()
  111. {
  112. RegistValueA();
  113. }
  114. #region 曲线
  115. public static float LinearTimer(float value, float duration, float start, float delta)
  116. {
  117. return (value - start) * duration / delta;
  118. }
  119. public static float EaseOutQuadTimer(float value, float duration, float start, float delta)
  120. {
  121. return ((2 - Mathf.Sqrt(4 - 4*(value - start)/delta))/2)*duration;
  122. }
  123. public static float ShakeLinear(float timer, float duration, int repeat, float start, float strength)
  124. {
  125. float sliceTime = duration/(4*repeat);
  126. for (int i = 0; i < repeat*4; i += 4)
  127. {
  128. if (timer > duration)
  129. {
  130. return start;
  131. }
  132. if (timer <= (i + 1) * sliceTime)
  133. {
  134. timer -= (i)*sliceTime;
  135. return Linear(timer, sliceTime, start, strength/(i/4 + 1));
  136. }
  137. else if (timer <= (i + 3)*sliceTime)
  138. {
  139. timer -= (i + 1)*sliceTime;
  140. return Linear(timer, 2*sliceTime, start + strength/(i/4 + 1), -2*strength/(i/4 + 1));
  141. }
  142. else if (timer <= (i + 4)*sliceTime)
  143. {
  144. timer -= (i + 3)*sliceTime;
  145. return Linear(timer, sliceTime, start - strength/(i/4 + 1), strength/(i/4 + 1));
  146. }
  147. }
  148. throw new Exception();
  149. }
  150. public static Color ShakeLinear(float timer, float duration, int repeat, Color start, Color strength)
  151. {
  152. float sliceTime = duration / (4 * repeat);
  153. for (int i = 0; i < repeat * 4; i += 4)
  154. {
  155. if (timer > duration)
  156. {
  157. return start;
  158. }
  159. if (timer <= (i + 1) * sliceTime)
  160. {
  161. timer -= (i) * sliceTime;
  162. return Linear(timer, sliceTime, start, strength / (i / 4 + 1));
  163. }
  164. else if (timer <= (i + 3) * sliceTime)
  165. {
  166. timer -= (i + 1) * sliceTime;
  167. return Linear(timer, 2 * sliceTime, start + strength / (i / 4 + 1), -2 * strength / (i / 4 + 1));
  168. }
  169. else if (timer <= (i + 4) * sliceTime)
  170. {
  171. timer -= (i + 3) * sliceTime;
  172. return Linear(timer, sliceTime, start - strength / (i / 4 + 1), strength / (i / 4 + 1));
  173. }
  174. }
  175. throw new Exception();
  176. }
  177. public static Vector3 ShakeLinear(float timer, float duration, int repeat, Vector3 start, Vector3 strength)
  178. {
  179. float sliceTime = duration / (4 * repeat);
  180. for (int i = 0; i < repeat * 4; i += 4)
  181. {
  182. if (timer > duration)
  183. {
  184. return start;
  185. }
  186. if (timer <= (i + 1) * sliceTime)
  187. {
  188. timer -= (i) * sliceTime;
  189. return Linear(timer, sliceTime, start, strength / (i / 4 + 1));
  190. }
  191. else if (timer <= (i + 3) * sliceTime)
  192. {
  193. timer -= (i + 1) * sliceTime;
  194. return Linear(timer, 2 * sliceTime, start + strength / (i / 4 + 1), -2 * strength / (i / 4 + 1));
  195. }
  196. else if (timer <= (i + 4) * sliceTime)
  197. {
  198. timer -= (i + 3) * sliceTime;
  199. return Linear(timer, sliceTime, start - strength / (i / 4 + 1), strength / (i / 4 + 1));
  200. }
  201. }
  202. throw new Exception();
  203. }
  204. public static float ShakeEaseOutQuad(float timer, float duration, int repeat, float start, float strength)
  205. {
  206. float sliceTime = duration / (4 * repeat);
  207. for (int i = 0; i < repeat * 4; i += 4)
  208. {
  209. if (timer > duration)
  210. {
  211. return start;
  212. }
  213. if (timer <= (i + 1) * sliceTime)
  214. {
  215. timer -= (i) * sliceTime;
  216. return EaseOutQuad(timer, sliceTime, start, strength / (i / 4 + 1));
  217. }
  218. else if (timer <= (i + 3) * sliceTime)
  219. {
  220. timer -= (i + 1) * sliceTime;
  221. return EaseOutQuad(timer, 2 * sliceTime, start + strength / (i / 4 + 1), -2 * strength / (i / 4 + 1));
  222. }
  223. else if (timer <= (i + 4) * sliceTime)
  224. {
  225. timer -= (i + 3) * sliceTime;
  226. return EaseOutQuad(timer, sliceTime, start - strength / (i / 4 + 1), strength / (i / 4 + 1));
  227. }
  228. }
  229. throw new Exception();
  230. }
  231. public static Color ShakeEaseOutQuad(float timer, float duration, int repeat, Color start, Color strength)
  232. {
  233. float sliceTime = duration / (4 * repeat);
  234. for (int i = 0; i < repeat * 4; i += 4)
  235. {
  236. if (timer > duration)
  237. {
  238. return start;
  239. }
  240. if (timer <= (i + 1) * sliceTime)
  241. {
  242. timer -= (i) * sliceTime;
  243. return EaseOutQuad(timer, sliceTime, start, strength / (i / 4 + 1));
  244. }
  245. else if (timer <= (i + 3) * sliceTime)
  246. {
  247. timer -= (i + 1) * sliceTime;
  248. return EaseOutQuad(timer, 2 * sliceTime, start + strength / (i / 4 + 1), -2 * strength / (i / 4 + 1));
  249. }
  250. else if (timer <= (i + 4) * sliceTime)
  251. {
  252. timer -= (i + 3) * sliceTime;
  253. return EaseOutQuad(timer, sliceTime, start - strength / (i / 4 + 1), strength / (i / 4 + 1));
  254. }
  255. }
  256. throw new Exception();
  257. }
  258. public static Vector3 ShakeEaseOutQuad(float timer, float duration, int repeat, Vector3 start, Vector3 strength)
  259. {
  260. float sliceTime = duration / (4 * repeat);
  261. for (int i = 0; i < repeat * 4; i += 4)
  262. {
  263. if (timer > duration)
  264. {
  265. return start;
  266. }
  267. if (timer <= (i + 1) * sliceTime)
  268. {
  269. timer -= (i) * sliceTime;
  270. return EaseOutQuad(timer, sliceTime, start, strength / (i / 4 + 1));
  271. }
  272. else if (timer <= (i + 3) * sliceTime)
  273. {
  274. timer -= (i + 1) * sliceTime;
  275. return EaseOutQuad(timer, 2 * sliceTime, start + strength / (i / 4 + 1), -2 * strength / (i / 4 + 1));
  276. }
  277. else if (timer <= (i + 4) * sliceTime)
  278. {
  279. timer -= (i + 3) * sliceTime;
  280. return EaseOutQuad(timer, sliceTime, start - strength / (i / 4 + 1), strength / (i / 4 + 1));
  281. }
  282. }
  283. throw new Exception();
  284. }
  285. public static float Linear(float timer, float duration, float start, float delta)
  286. {
  287. if (Math.Abs(duration) < 0.0005f)
  288. {
  289. return delta + start;
  290. }
  291. else
  292. {
  293. return delta * timer / duration + start;
  294. }
  295. }
  296. public static Color Linear(float timer, float duration, Color start, Color delta)
  297. {
  298. 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));
  299. }
  300. public static Vector3 Linear(float timer, float duration, Vector3 start, Vector3 delta)
  301. {
  302. return new Vector3(Linear(timer, duration, start.x, delta.x), Linear(timer, duration, start.y, delta.y), Linear(timer, duration, start.z, delta.z));
  303. }
  304. public static float EaseOutQuad(float timer, float duration, float start, float delta)
  305. {
  306. if (Math.Abs(duration) < 0.0005f)
  307. {
  308. return delta + start;
  309. }
  310. else
  311. {
  312. timer /= duration;
  313. return -delta * timer * (timer - 2) + start;
  314. }
  315. }
  316. public static Color EaseOutQuad(float timer, float duration, Color start, Color delta)
  317. {
  318. 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));
  319. }
  320. public static Vector3 EaseOutQuad(float timer, float duration, Vector3 start, Vector3 delta)
  321. {
  322. return new Vector3(EaseOutQuad(timer, duration, start.x, delta.x), EaseOutQuad(timer, duration, start.y, delta.y), EaseOutQuad(timer, duration, start.z, delta.z));
  323. }
  324. #endregion
  325. #region 播放动画
  326. public static Shake Shake(Transform target, float duration, int repeat, Vector3 strength, Curve curve)
  327. {
  328. Shake move;
  329. if (ShakeDic.TryGetValue(target, out move))
  330. {
  331. move.StartShake(repeat, duration, strength, curve);
  332. }
  333. else
  334. {
  335. move = CreateShake(target);
  336. move.StartShake(repeat, duration, strength, curve);
  337. }
  338. return move;
  339. }
  340. public static Move2D Move2D(Transform target, Vector3 destination, float duration, bool local, Curve curve)
  341. {
  342. Move2D move;
  343. if (MoveDic2D.TryGetValue(target, out move))
  344. {
  345. move.StartMove(destination, duration, local, curve);
  346. }
  347. else
  348. {
  349. move = CreateMove2D(target);
  350. move.StartMove(destination, duration, local, curve);
  351. }
  352. return move;
  353. }
  354. public static Move3D Move3D(Transform target, Vector3 destination, float duration, bool local, Curve curve)
  355. {
  356. Move3D move;
  357. if (MoveDic3D.TryGetValue(target, out move))
  358. {
  359. move.StartMove(destination, duration, local, curve);
  360. }
  361. else
  362. {
  363. move = CreateMove3D(target);
  364. move.StartMove(destination, duration, local, curve);
  365. }
  366. return move;
  367. }
  368. public static TweenSr TweenForSr(Transform target)
  369. {
  370. TweenSr tween;
  371. if (TweenSrDic.TryGetValue(target, out tween))
  372. {
  373. tween.StartForward();
  374. }
  375. else
  376. {
  377. throw new Exception();
  378. }
  379. return tween;
  380. }
  381. public static TweenCG TweenForCG(Transform target)
  382. {
  383. TweenCG tween;
  384. if (TweenCgDic.TryGetValue(target, out tween))
  385. {
  386. tween.StartForward();
  387. }
  388. else
  389. {
  390. throw new Exception();
  391. }
  392. return tween;
  393. }
  394. public static TweenGra TweenForGra(Transform target)
  395. {
  396. TweenGra tween;
  397. if (TweenGraDic.TryGetValue(target, out tween))
  398. {
  399. tween.StartForward();
  400. }
  401. else
  402. {
  403. throw new Exception();
  404. }
  405. return tween;
  406. }
  407. public static TweenVec TweenForVec(Transform target)
  408. {
  409. TweenVec tween;
  410. if (TweenVecDic.TryGetValue(target, out tween))
  411. {
  412. tween.StartForward();
  413. }
  414. else
  415. {
  416. throw new Exception();
  417. }
  418. return tween;
  419. }
  420. public static TweenText TweenForText(Transform target)
  421. {
  422. TweenText tween;
  423. if (TweenTextDic.TryGetValue(target, out tween))
  424. {
  425. tween.StartForward();
  426. }
  427. else
  428. {
  429. throw new Exception();
  430. }
  431. return tween;
  432. }
  433. public static TweenRect TweenForRect(Transform target)
  434. {
  435. TweenRect tween;
  436. if (TweenRectDic.TryGetValue(target, out tween))
  437. {
  438. tween.StartForward();
  439. }
  440. else
  441. {
  442. throw new Exception();
  443. }
  444. return tween;
  445. }
  446. public static TweenScale TweenForScale(Transform target)
  447. {
  448. TweenScale tween;
  449. if (TweenScaleDic.TryGetValue(target, out tween))
  450. {
  451. tween.StartForward();
  452. }
  453. else
  454. {
  455. throw new Exception();
  456. }
  457. return tween;
  458. }
  459. public static TweenAudio TweenForAudio(Transform target)
  460. {
  461. TweenAudio tween;
  462. if (TweenAudioDic.TryGetValue(target, out tween))
  463. {
  464. tween.StartForward();
  465. }
  466. else
  467. {
  468. throw new Exception();
  469. }
  470. return tween;
  471. }
  472. public static TweenNumber TweenForNumber(Transform target)
  473. {
  474. TweenNumber tween;
  475. if (TweenNumberDic.TryGetValue(target, out tween))
  476. {
  477. tween.StartForward();
  478. }
  479. else
  480. {
  481. throw new Exception();
  482. }
  483. return tween;
  484. }
  485. public static TweenSr TweenBacSr(Transform target)
  486. {
  487. TweenSr tween;
  488. if (TweenSrDic.TryGetValue(target, out tween))
  489. {
  490. tween.StartBackward();
  491. }
  492. else
  493. {
  494. throw new Exception();
  495. }
  496. return tween;
  497. }
  498. public static TweenCG TweenBacCG(Transform target)
  499. {
  500. TweenCG tween;
  501. if (TweenCgDic.TryGetValue(target, out tween))
  502. {
  503. tween.StartBackward();
  504. }
  505. else
  506. {
  507. throw new Exception();
  508. }
  509. return tween;
  510. }
  511. public static TweenGra TweenBacGra(Transform target)
  512. {
  513. TweenGra tween;
  514. if (TweenGraDic.TryGetValue(target, out tween))
  515. {
  516. tween.StartBackward();
  517. }
  518. else
  519. {
  520. throw new Exception(target.name);
  521. }
  522. return tween;
  523. }
  524. public static TweenVec TweenBacVec(Transform target)
  525. {
  526. TweenVec tween;
  527. if (TweenVecDic.TryGetValue(target, out tween))
  528. {
  529. tween.StartBackward();
  530. }
  531. else
  532. {
  533. throw new Exception(target.name);
  534. }
  535. return tween;
  536. }
  537. public static TweenText TweenBacText(Transform target)
  538. {
  539. TweenText tween;
  540. if (TweenTextDic.TryGetValue(target, out tween))
  541. {
  542. tween.StartBackward();
  543. }
  544. else
  545. {
  546. throw new Exception();
  547. }
  548. return tween;
  549. }
  550. public static TweenRect TweenBacRect(Transform target)
  551. {
  552. TweenRect tween;
  553. if (TweenRectDic.TryGetValue(target, out tween))
  554. {
  555. tween.StartBackward();
  556. }
  557. else
  558. {
  559. throw new Exception();
  560. }
  561. return tween;
  562. }
  563. public static TweenScale TweenBacScale(Transform target)
  564. {
  565. TweenScale tween;
  566. if (TweenScaleDic.TryGetValue(target, out tween))
  567. {
  568. tween.StartBackward();
  569. }
  570. else
  571. {
  572. throw new Exception();
  573. }
  574. return tween;
  575. }
  576. public static TweenAudio TweenBacAudio(Transform target)
  577. {
  578. TweenAudio tween;
  579. if (TweenAudioDic.TryGetValue(target, out tween))
  580. {
  581. tween.StartBackward();
  582. }
  583. else
  584. {
  585. throw new Exception();
  586. }
  587. return tween;
  588. }
  589. public static TweenNumber TweenBacNumber(Transform target)
  590. {
  591. TweenNumber tween;
  592. if (TweenNumberDic.TryGetValue(target, out tween))
  593. {
  594. tween.StartBackward();
  595. }
  596. else
  597. {
  598. throw new Exception();
  599. }
  600. return tween;
  601. }
  602. public static TweenSr TweenConForSr(Transform target)
  603. {
  604. TweenSr tween;
  605. if (TweenSrDic.TryGetValue(target, out tween))
  606. {
  607. tween.ConfineForward();
  608. }
  609. else
  610. {
  611. throw new Exception();
  612. }
  613. return tween;
  614. }
  615. public static TweenCG TweenConForCG(Transform target)
  616. {
  617. TweenCG tween;
  618. if (TweenCgDic.TryGetValue(target, out tween))
  619. {
  620. tween.ConfineForward();
  621. }
  622. else
  623. {
  624. throw new Exception();
  625. }
  626. return tween;
  627. }
  628. public static TweenGra TweenConForGra(Transform target)
  629. {
  630. TweenGra tween;
  631. if (TweenGraDic.TryGetValue(target, out tween))
  632. {
  633. tween.ConfineForward();
  634. }
  635. else
  636. {
  637. throw new Exception();
  638. }
  639. return tween;
  640. }
  641. public static TweenVec TweenConForVec(Transform target)
  642. {
  643. TweenVec tween;
  644. if (TweenVecDic.TryGetValue(target, out tween))
  645. {
  646. tween.ConfineForward();
  647. }
  648. else
  649. {
  650. throw new Exception();
  651. }
  652. return tween;
  653. }
  654. public static TweenText TweenConForText(Transform target)
  655. {
  656. TweenText tween;
  657. if (TweenTextDic.TryGetValue(target, out tween))
  658. {
  659. tween.ConfineForward();
  660. }
  661. else
  662. {
  663. throw new Exception();
  664. }
  665. return tween;
  666. }
  667. public static TweenRect TweenConForRect(Transform target)
  668. {
  669. TweenRect tween;
  670. if (TweenRectDic.TryGetValue(target, out tween))
  671. {
  672. tween.ConfineForward();
  673. }
  674. else
  675. {
  676. throw new Exception();
  677. }
  678. return tween;
  679. }
  680. public static TweenScale TweenConForScale(Transform target)
  681. {
  682. TweenScale tween;
  683. if (TweenScaleDic.TryGetValue(target, out tween))
  684. {
  685. tween.ConfineForward();
  686. }
  687. else
  688. {
  689. throw new Exception();
  690. }
  691. return tween;
  692. }
  693. public static TweenAudio TweenConForAudio(Transform target)
  694. {
  695. TweenAudio tween;
  696. if (TweenAudioDic.TryGetValue(target, out tween))
  697. {
  698. tween.ConfineForward();
  699. }
  700. else
  701. {
  702. throw new Exception();
  703. }
  704. return tween;
  705. }
  706. public static TweenNumber TweenConForNumber(Transform target)
  707. {
  708. TweenNumber tween;
  709. if (TweenNumberDic.TryGetValue(target, out tween))
  710. {
  711. tween.ConfineForward();
  712. }
  713. else
  714. {
  715. throw new Exception();
  716. }
  717. return tween;
  718. }
  719. public static TweenSr TweenConBacSr(Transform target)
  720. {
  721. TweenSr tween;
  722. if (TweenSrDic.TryGetValue(target, out tween))
  723. {
  724. tween.ConfineBackward();
  725. }
  726. else
  727. {
  728. throw new Exception();
  729. }
  730. return tween;
  731. }
  732. public static TweenCG TweenConBacCG(Transform target)
  733. {
  734. TweenCG tween;
  735. if (TweenCgDic.TryGetValue(target, out tween))
  736. {
  737. tween.ConfineBackward();
  738. }
  739. else
  740. {
  741. throw new Exception();
  742. }
  743. return tween;
  744. }
  745. public static TweenGra TweenConBacGra(Transform target)
  746. {
  747. TweenGra tween;
  748. if (TweenGraDic.TryGetValue(target, out tween))
  749. {
  750. tween.ConfineBackward();
  751. }
  752. else
  753. {
  754. throw new Exception(target.name);
  755. }
  756. return tween;
  757. }
  758. public static TweenVec TweenConBacVec(Transform target)
  759. {
  760. TweenVec tween;
  761. if (TweenVecDic.TryGetValue(target, out tween))
  762. {
  763. tween.ConfineBackward();
  764. }
  765. else
  766. {
  767. throw new Exception(target.name);
  768. }
  769. return tween;
  770. }
  771. public static TweenText TweenConBacText(Transform target)
  772. {
  773. TweenText tween;
  774. if (TweenTextDic.TryGetValue(target, out tween))
  775. {
  776. tween.ConfineBackward();
  777. }
  778. else
  779. {
  780. throw new Exception();
  781. }
  782. return tween;
  783. }
  784. public static TweenRect TweenConBacRect(Transform target)
  785. {
  786. TweenRect tween;
  787. if (TweenRectDic.TryGetValue(target, out tween))
  788. {
  789. tween.ConfineBackward();
  790. }
  791. else
  792. {
  793. throw new Exception();
  794. }
  795. return tween;
  796. }
  797. public static TweenScale TweenConBacScale(Transform target)
  798. {
  799. TweenScale tween;
  800. if (TweenScaleDic.TryGetValue(target, out tween))
  801. {
  802. tween.ConfineBackward();
  803. }
  804. else
  805. {
  806. throw new Exception();
  807. }
  808. return tween;
  809. }
  810. public static TweenAudio TweenConBacAudio(Transform target)
  811. {
  812. TweenAudio tween;
  813. if (TweenAudioDic.TryGetValue(target, out tween))
  814. {
  815. tween.ConfineBackward();
  816. }
  817. else
  818. {
  819. throw new Exception();
  820. }
  821. return tween;
  822. }
  823. public static TweenNumber TweenConBacNumber(Transform target)
  824. {
  825. TweenNumber tween;
  826. if (TweenNumberDic.TryGetValue(target, out tween))
  827. {
  828. tween.ConfineBackward();
  829. }
  830. else
  831. {
  832. throw new Exception();
  833. }
  834. return tween;
  835. }
  836. #endregion
  837. #region 得到动画
  838. public static Shake GetShake(Transform target)
  839. {
  840. Shake shake;
  841. if (ShakeDic.TryGetValue(target, out shake))
  842. {
  843. return shake;
  844. }
  845. else
  846. {
  847. throw new Exception();
  848. }
  849. }
  850. public static Move2D GetMove2D(Transform target)
  851. {
  852. Move2D move2D;
  853. if (MoveDic2D.TryGetValue(target, out move2D))
  854. {
  855. return move2D;
  856. }
  857. else
  858. {
  859. throw new Exception();
  860. }
  861. }
  862. public static Move3D GetMove3D(Transform target)
  863. {
  864. Move3D move3D;
  865. if (MoveDic3D.TryGetValue(target, out move3D))
  866. {
  867. return move3D;
  868. }
  869. else
  870. {
  871. throw new Exception();
  872. }
  873. }
  874. public static TweenSr GetTweenSr(Transform target)
  875. {
  876. TweenSr tweenSr;
  877. if (TweenSrDic.TryGetValue(target, out tweenSr))
  878. {
  879. return tweenSr;
  880. }
  881. else
  882. {
  883. throw new Exception();
  884. }
  885. }
  886. public static TweenCG GetTweenCG(Transform target)
  887. {
  888. TweenCG tweenCG;
  889. if (TweenCgDic.TryGetValue(target, out tweenCG))
  890. {
  891. return tweenCG;
  892. }
  893. else
  894. {
  895. throw new Exception();
  896. }
  897. }
  898. public static TweenGra GetTweenGra(Transform target)
  899. {
  900. TweenGra tweenGra;
  901. if (TweenGraDic.TryGetValue(target, out tweenGra))
  902. {
  903. return tweenGra;
  904. }
  905. else
  906. {
  907. throw new Exception();
  908. }
  909. }
  910. public static TweenVec GetTweenVec(Transform target)
  911. {
  912. TweenVec tweenVec;
  913. if (TweenVecDic.TryGetValue(target, out tweenVec))
  914. {
  915. return tweenVec;
  916. }
  917. else
  918. {
  919. throw new Exception();
  920. }
  921. }
  922. public static TweenText GetTweenText(Transform target)
  923. {
  924. TweenText tweenText;
  925. if (TweenTextDic.TryGetValue(target, out tweenText))
  926. {
  927. return tweenText;
  928. }
  929. else
  930. {
  931. throw new Exception();
  932. }
  933. }
  934. public static TweenRect GetTweenRect(Transform target)
  935. {
  936. TweenRect tweenRect;
  937. if (TweenRectDic.TryGetValue(target, out tweenRect))
  938. {
  939. return tweenRect;
  940. }
  941. else
  942. {
  943. throw new Exception();
  944. }
  945. }
  946. public static TweenScale GetTweenScale(Transform target)
  947. {
  948. TweenScale tweenScale;
  949. if (TweenScaleDic.TryGetValue(target, out tweenScale))
  950. {
  951. return tweenScale;
  952. }
  953. else
  954. {
  955. throw new Exception();
  956. }
  957. }
  958. public static TweenAudio GetTweenAudio(Transform target)
  959. {
  960. TweenAudio tween;
  961. if (TweenAudioDic.TryGetValue(target, out tween))
  962. {
  963. return tween;
  964. }
  965. else
  966. {
  967. throw new Exception();
  968. }
  969. }
  970. public static TweenNumber GetTweenNumber(Transform target)
  971. {
  972. TweenNumber tween;
  973. if (TweenNumberDic.TryGetValue(target, out tween))
  974. {
  975. return tween;
  976. }
  977. else
  978. {
  979. throw new Exception();
  980. }
  981. }
  982. #endregion
  983. #region 创建动画
  984. public static Shake CreateShake(Transform target)
  985. {
  986. if (ShakeDic.ContainsKey(target))
  987. {
  988. Shake shake = ShakeDic[target];
  989. shake = new Shake(target);
  990. return shake;
  991. }
  992. else
  993. {
  994. Shake shake = new Shake(target);
  995. ShakeDic.Add(target, shake);
  996. return shake;
  997. }
  998. }
  999. public static Move2D CreateMove2D(Transform target)
  1000. {
  1001. if (MoveDic2D.ContainsKey(target))
  1002. {
  1003. Move2D move2D = MoveDic2D[target];
  1004. move2D = new Move2D(target);
  1005. return move2D;
  1006. }
  1007. else
  1008. {
  1009. Move2D move2D = new Move2D(target);
  1010. MoveDic2D.Add(target, move2D);
  1011. return move2D;
  1012. }
  1013. }
  1014. public static Move3D CreateMove3D(Transform target)
  1015. {
  1016. if (MoveDic3D.ContainsKey(target))
  1017. {
  1018. Move3D move3D = MoveDic3D[target];
  1019. move3D = new Move3D(target);
  1020. return move3D;
  1021. }
  1022. else
  1023. {
  1024. Move3D move3D = new Move3D(target);
  1025. MoveDic3D.Add(target, move3D);
  1026. return move3D;
  1027. }
  1028. }
  1029. public static TweenSr CreateTweenSr(Transform target, float originAlpha, float destinationAlpha, float duration, bool group, bool originActive, bool destActive, Curve curve)
  1030. {
  1031. TweenSr tween;
  1032. SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
  1033. Color origin = sr.color;
  1034. Color destination = sr.color;
  1035. origin.a = originAlpha;
  1036. destination.a = destinationAlpha;
  1037. if (TweenSrDic.ContainsKey(target))
  1038. {
  1039. tween = TweenSrDic[target];
  1040. tween = new TweenSr(sr, origin, destination, duration, group, originActive, destActive, curve);
  1041. return tween;
  1042. }
  1043. else
  1044. {
  1045. tween = new TweenSr(sr, origin, destination, duration, group, originActive, destActive, curve);
  1046. TweenSrDic.Add(target, tween);
  1047. return tween;
  1048. }
  1049. }
  1050. public static TweenSr CreateTweenSr(Transform target, float destinationAlpha, float duration, bool group, bool originActive, bool destActive, Curve curve)
  1051. {
  1052. TweenSr tween;
  1053. SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
  1054. Color destination = sr.color;
  1055. destination.a = destinationAlpha;
  1056. if (TweenSrDic.ContainsKey(target))
  1057. {
  1058. tween = TweenSrDic[target];
  1059. tween = new TweenSr(sr, sr.color, destination, duration, group, originActive, destActive, curve);
  1060. return tween;
  1061. }
  1062. else
  1063. {
  1064. tween = new TweenSr(sr, sr.color, destination, duration, group, originActive, destActive, curve);
  1065. TweenSrDic.Add(target, tween);
  1066. return tween;
  1067. }
  1068. }
  1069. public static TweenSr CreateTweenSr(Transform target, Color origin, Color destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
  1070. {
  1071. if (TweenSrDic.ContainsKey(target))
  1072. {
  1073. SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
  1074. TweenSr tween = TweenSrDic[target];
  1075. tween = new TweenSr(sr, origin, destination, duration, group, originActive, destActive, curve);
  1076. return tween;
  1077. }
  1078. else
  1079. {
  1080. SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
  1081. TweenSr tween = new TweenSr(sr, origin, destination, duration, group, originActive, destActive, curve);
  1082. TweenSrDic.Add(target, tween);
  1083. return tween;
  1084. }
  1085. }
  1086. public static TweenSr CreateTweenSr(Transform target, Color destination, float duration, bool group, bool originActive, bool destActive, Curve curve)
  1087. {
  1088. if (TweenSrDic.ContainsKey(target))
  1089. {
  1090. SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
  1091. TweenSr tween = TweenSrDic[target];
  1092. tween = new TweenSr(sr, sr.color, destination, duration, group, originActive, destActive, curve);
  1093. return tween;
  1094. }
  1095. else
  1096. {
  1097. SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
  1098. TweenSr tween = new TweenSr(sr, sr.color, destination, duration, group, originActive, destActive, curve);
  1099. TweenSrDic.Add(target, tween);
  1100. return tween;
  1101. }
  1102. }
  1103. public static TweenCG CreateTweenCG(Transform target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
  1104. {
  1105. if (TweenCgDic.ContainsKey(target))
  1106. {
  1107. CanvasGroup cg = target.GetComponent<CanvasGroup>();
  1108. TweenCG tween = TweenCgDic[target];
  1109. tween = new TweenCG(cg, origin, destination, duration, originActive, destActive, curve);
  1110. return tween;
  1111. }
  1112. else
  1113. {
  1114. CanvasGroup cg = target.GetComponent<CanvasGroup>();
  1115. TweenCG tween = new TweenCG(cg, origin, destination, duration, originActive, destActive, curve);
  1116. TweenCgDic.Add(target, tween);
  1117. return tween;
  1118. }
  1119. }
  1120. public static TweenCG CreateTweenCG(Transform target, float destination, float duration, bool originActive, bool destActive, Curve curve)
  1121. {
  1122. if (TweenCgDic.ContainsKey(target))
  1123. {
  1124. CanvasGroup cg = target.GetComponent<CanvasGroup>();
  1125. TweenCG tween = TweenCgDic[target];
  1126. tween = new TweenCG(cg, cg.alpha, destination, duration, originActive, destActive, curve);
  1127. return tween;
  1128. }
  1129. else
  1130. {
  1131. CanvasGroup cg = target.GetComponent<CanvasGroup>();
  1132. TweenCG tween = new TweenCG(cg, cg.alpha, destination, duration, originActive, destActive, curve);
  1133. TweenCgDic.Add(target, tween);
  1134. return tween;
  1135. }
  1136. }
  1137. public static TweenGra CreateTweenGra(Transform target, float originAlpha, float destinationAlpha, float duration, bool originActive, bool destActive, Curve curve)
  1138. {
  1139. Graphic graphic = target.GetComponent<Graphic>();
  1140. TweenGra tween;
  1141. Color origin = graphic.color;
  1142. Color destination = graphic.color;
  1143. origin.a = originAlpha;
  1144. destination.a = destinationAlpha;
  1145. if (TweenGraDic.ContainsKey(target))
  1146. {
  1147. tween = TweenGraDic[target];
  1148. tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve);
  1149. return tween;
  1150. }
  1151. else
  1152. {
  1153. tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve);
  1154. TweenGraDic.Add(target, tween);
  1155. return tween;
  1156. }
  1157. }
  1158. public static TweenGra CreateTweenGra(Transform target, float destinationAlpha, float duration, bool originActive, bool destActive, Curve curve)
  1159. {
  1160. Graphic graphic = target.GetComponent<Graphic>();
  1161. TweenGra tween;
  1162. Color destination = graphic.color;
  1163. destination.a = destinationAlpha;
  1164. if (TweenGraDic.ContainsKey(target))
  1165. {
  1166. tween = TweenGraDic[target];
  1167. tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve);
  1168. return tween;
  1169. }
  1170. else
  1171. {
  1172. tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve);
  1173. TweenGraDic.Add(target, tween);
  1174. return tween;
  1175. }
  1176. }
  1177. public static TweenGra CreateTweenGra(Transform target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve)
  1178. {
  1179. if (TweenGraDic.ContainsKey(target))
  1180. {
  1181. Graphic graphic = target.GetComponent<Graphic>();
  1182. TweenGra tween = TweenGraDic[target];
  1183. tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve);
  1184. return tween;
  1185. }
  1186. else
  1187. {
  1188. Graphic graphic = target.GetComponent<Graphic>();
  1189. TweenGra tween = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve);
  1190. TweenGraDic.Add(target, tween);
  1191. return tween;
  1192. }
  1193. }
  1194. public static TweenGra CreateTweenGra(Transform target, Color destination, float duration, bool originActive, bool destActive, Curve curve)
  1195. {
  1196. if (TweenGraDic.ContainsKey(target))
  1197. {
  1198. Graphic graphic = target.GetComponent<Graphic>();
  1199. TweenGra tween = TweenGraDic[target];
  1200. tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve);
  1201. return tween;
  1202. }
  1203. else
  1204. {
  1205. Graphic graphic = target.GetComponent<Graphic>();
  1206. TweenGra tween = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve);
  1207. TweenGraDic.Add(target, tween);
  1208. return tween;
  1209. }
  1210. }
  1211. public static TweenVec CreateTweenVec2D(Transform target, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
  1212. {
  1213. origin.z = target.position.z;
  1214. destination.z = target.position.z;
  1215. if (TweenVecDic.ContainsKey(target))
  1216. {
  1217. TweenVec tween = TweenVecDic[target];
  1218. tween = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve);
  1219. return tween;
  1220. }
  1221. else
  1222. {
  1223. TweenVec tween = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve);
  1224. TweenVecDic.Add(target, tween);
  1225. return tween;
  1226. }
  1227. }
  1228. public static TweenVec CreateTweenVec2D(Transform target, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
  1229. {
  1230. destination.z = target.position.z;
  1231. if (TweenVecDic.ContainsKey(target))
  1232. {
  1233. TweenVec tween = TweenVecDic[target];
  1234. if (local)
  1235. {
  1236. tween = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve);
  1237. }
  1238. else
  1239. {
  1240. tween = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve);
  1241. }
  1242. return tween;
  1243. }
  1244. else
  1245. {
  1246. TweenVec tween;
  1247. if (local)
  1248. {
  1249. tween = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve);
  1250. }
  1251. else
  1252. {
  1253. tween = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve);
  1254. }
  1255. TweenVecDic.Add(target, tween);
  1256. return tween;
  1257. }
  1258. }
  1259. public static TweenVec CreateTweenVec3D(Transform target, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
  1260. {
  1261. if (TweenVecDic.ContainsKey(target))
  1262. {
  1263. TweenVec tween = TweenVecDic[target];
  1264. tween = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve);
  1265. return tween;
  1266. }
  1267. else
  1268. {
  1269. TweenVec tween = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve);
  1270. TweenVecDic.Add(target, tween);
  1271. return tween;
  1272. }
  1273. }
  1274. public static TweenVec CreateTweenVec3D(Transform target, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve)
  1275. {
  1276. if (TweenVecDic.ContainsKey(target))
  1277. {
  1278. TweenVec tween = TweenVecDic[target];
  1279. if (local)
  1280. {
  1281. tween = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve);
  1282. }
  1283. else
  1284. {
  1285. tween = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve);
  1286. }
  1287. return tween;
  1288. }
  1289. else
  1290. {
  1291. TweenVec tween;
  1292. if (local)
  1293. {
  1294. tween = new TweenVec(target, target.localPosition, destination, duration, local, originActive, destActive, curve);
  1295. }
  1296. else
  1297. {
  1298. tween = new TweenVec(target, target.position, destination, duration, local, originActive, destActive, curve);
  1299. }
  1300. TweenVecDic.Add(target, tween);
  1301. return tween;
  1302. }
  1303. }
  1304. public static TweenText CreateTweenText(Transform target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
  1305. {
  1306. if (TweenRectDic.ContainsKey(target))
  1307. {
  1308. Text text = target.GetComponent<Text>();
  1309. TweenText tween = TweenTextDic[target];
  1310. tween = new TweenText(text, origin, destination, duration, originActive, destActive, curve);
  1311. return tween;
  1312. }
  1313. else
  1314. {
  1315. Text text = target.GetComponent<Text>();
  1316. TweenText tween = new TweenText(text, origin, destination, duration, originActive, destActive, curve);
  1317. TweenTextDic.Add(target, tween);
  1318. return tween;
  1319. }
  1320. }
  1321. public static TweenText CreateTweenText(Transform target, float destination, float duration, bool originActive, bool destActive, Curve curve)
  1322. {
  1323. if (TweenRectDic.ContainsKey(target))
  1324. {
  1325. Text text = target.GetComponent<Text>();
  1326. TweenText tween = TweenTextDic[target];
  1327. tween = new TweenText(text, text.fontSize, destination, duration, originActive, destActive, curve);
  1328. return tween;
  1329. }
  1330. else
  1331. {
  1332. Text text = target.GetComponent<Text>();
  1333. TweenText tween = new TweenText(text, text.fontSize, destination, duration, originActive, destActive, curve);
  1334. TweenTextDic.Add(target, tween);
  1335. return tween;
  1336. }
  1337. }
  1338. public static TweenRect CreateTweenRect(Transform target, Vector2 origin, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve)
  1339. {
  1340. if (TweenRectDic.ContainsKey(target))
  1341. {
  1342. RectTransform rectTra = target.GetComponent<RectTransform>();
  1343. TweenRect tween = TweenRectDic[target];
  1344. tween = new TweenRect(rectTra, origin, destination, duration, originActive, destActive, curve);
  1345. return tween;
  1346. }
  1347. else
  1348. {
  1349. RectTransform rectTra = target.GetComponent<RectTransform>();
  1350. TweenRect tween = new TweenRect(rectTra, origin, destination, duration, originActive, destActive, curve);
  1351. TweenRectDic.Add(target, tween);
  1352. return tween;
  1353. }
  1354. }
  1355. public static TweenRect CreateTweenRect(Transform target, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve)
  1356. {
  1357. if (TweenRectDic.ContainsKey(target))
  1358. {
  1359. RectTransform rectTra = target.GetComponent<RectTransform>();
  1360. TweenRect tween = TweenRectDic[target];
  1361. tween = new TweenRect(rectTra, rectTra.rect.size, destination, duration, originActive, destActive, curve);
  1362. return tween;
  1363. }
  1364. else
  1365. {
  1366. RectTransform rectTra = target.GetComponent<RectTransform>();
  1367. TweenRect tween = new TweenRect(rectTra, rectTra.rect.size, destination, duration, originActive, destActive, curve);
  1368. TweenRectDic.Add(target, tween);
  1369. return tween;
  1370. }
  1371. }
  1372. public static TweenScale CreateTweenScale(Transform target, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
  1373. {
  1374. if (TweenScaleDic.ContainsKey(target))
  1375. {
  1376. TweenScale tween = TweenScaleDic[target];
  1377. tween = new TweenScale(target, origin, destination, duration, originActive, destActive, curve);
  1378. return tween;
  1379. }
  1380. else
  1381. {
  1382. TweenScale tween = new TweenScale(target, origin, destination, duration, originActive, destActive, curve);
  1383. TweenScaleDic.Add(target, tween);
  1384. return tween;
  1385. }
  1386. }
  1387. public static TweenScale CreateTweenScale(Transform target, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve)
  1388. {
  1389. if (TweenScaleDic.ContainsKey(target))
  1390. {
  1391. TweenScale tween = TweenScaleDic[target];
  1392. tween = new TweenScale(target, target.lossyScale, destination, duration, originActive, destActive, curve);
  1393. return tween;
  1394. }
  1395. else
  1396. {
  1397. TweenScale tween = new TweenScale(target, target.lossyScale, destination, duration, originActive, destActive, curve);
  1398. TweenScaleDic.Add(target, tween);
  1399. return tween;
  1400. }
  1401. }
  1402. public static TweenAudio CreateTweenAudio(Transform target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
  1403. {
  1404. if (TweenAudioDic.ContainsKey(target))
  1405. {
  1406. TweenAudio tween = TweenAudioDic[target];
  1407. tween = new TweenAudio(target.GetComponent<AudioSource>(), origin, destination, duration, originActive, destActive, curve);
  1408. return tween;
  1409. }
  1410. else
  1411. {
  1412. TweenAudio tween = new TweenAudio(target.GetComponent<AudioSource>(), origin, destination, duration, originActive, destActive, curve);
  1413. TweenAudioDic.Add(target, tween);
  1414. return tween;
  1415. }
  1416. }
  1417. public static TweenAudio CreateTweenAudio(Transform target, float destination, float duration, bool originActive, bool destActive, Curve curve)
  1418. {
  1419. if (TweenAudioDic.ContainsKey(target))
  1420. {
  1421. AudioSource audio = target.GetComponent<AudioSource>();
  1422. TweenAudio tween = TweenAudioDic[target];
  1423. tween = new TweenAudio(audio , audio.volume, destination, duration, originActive, destActive, curve);
  1424. return tween;
  1425. }
  1426. else
  1427. {
  1428. AudioSource audio = target.GetComponent<AudioSource>();
  1429. TweenAudio tween = new TweenAudio(audio, audio.volume, destination, duration, originActive, destActive, curve);
  1430. TweenAudioDic.Add(target, tween);
  1431. return tween;
  1432. }
  1433. }
  1434. public static TweenNumber CreateTweenNumber(Transform target, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve)
  1435. {
  1436. if (TweenNumberDic.ContainsKey(target))
  1437. {
  1438. TweenNumber tween = TweenNumberDic[target];
  1439. tween = new TweenNumber(target.GetComponent<Text>(), origin, destination, duration, originActive, destActive, curve);
  1440. return tween;
  1441. }
  1442. else
  1443. {
  1444. TweenNumber tween = new TweenNumber(target.GetComponent<Text>(), origin, destination, duration, originActive, destActive, curve);
  1445. TweenNumberDic.Add(target, tween);
  1446. return tween;
  1447. }
  1448. }
  1449. public static TweenNumber CreateTweenNumber(Transform target, int destination, float duration, bool originActive, bool destActive, Curve curve)
  1450. {
  1451. if (TweenNumberDic.ContainsKey(target))
  1452. {
  1453. Text text = target.GetComponent<Text>();
  1454. TweenNumber tween = TweenNumberDic[target];
  1455. tween = new TweenNumber(text, int.Parse(text.text), destination, duration, originActive, destActive, curve);
  1456. return tween;
  1457. }
  1458. else
  1459. {
  1460. Text text = target.GetComponent<Text>();
  1461. TweenNumber tween = new TweenNumber(text, int.Parse(text.text), destination, duration, originActive, destActive, curve);
  1462. TweenNumberDic.Add(target, tween);
  1463. return tween;
  1464. }
  1465. }
  1466. #endregion
  1467. }