ManaAnim.cs 51 KB

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