ManaAnim.cs 68 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718
  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 TimerFunction(float value, float duration, float start, float delta);
  20. public delegate float ShakeFunctionF(float timer, float duration, int repeat, float start, float strength);
  21. public delegate Color ShakeFunctionC(float timer, float duration, int repeat, Color start, Color strength);
  22. public delegate Vector3 ShakeFunctionV(float timer, float duration, int repeat, Vector3 start, Vector3 strength);
  23. public delegate float CurveFunctionF(float timer, float duration, float start, float delta);
  24. public delegate Color CurveFunctionC(float timer, float duration, Color start, Color delta);
  25. public delegate Vector3 CurveFunctionV(float timer, float duration, Vector3 start, Vector3 delta);
  26. public class ManaAnim : Regist
  27. {
  28. #region 变量
  29. public static List<Move> MoveList = new List<Move>();
  30. public static List<Tween> TweenForList = new List<Tween>();
  31. public static List<Tween> TweenBacList = new List<Tween>();
  32. public static Dictionary<Curve, TimerFunction> TimerFunctionDic = new Dictionary<Curve, TimerFunction>();
  33. public static Dictionary<Curve, ShakeFunctionF> ShakeFuncDicF = new Dictionary<Curve, ShakeFunctionF>();
  34. public static Dictionary<Curve, ShakeFunctionC> ShakeFuncDicC = new Dictionary<Curve, ShakeFunctionC>();
  35. public static Dictionary<Curve, ShakeFunctionV> ShakeFuncDicV = new Dictionary<Curve, ShakeFunctionV>();
  36. public static Dictionary<Curve, CurveFunctionF> CurveFuncDicF = new Dictionary<Curve, CurveFunctionF>();
  37. public static Dictionary<Curve, CurveFunctionC> CurveFuncDicC = new Dictionary<Curve, CurveFunctionC>();
  38. public static Dictionary<Curve, CurveFunctionV> CurveFuncDicV = new Dictionary<Curve, CurveFunctionV>();
  39. public static Dictionary<Transform, Shake> ShakeDic = new Dictionary<Transform, Shake>();
  40. public static Dictionary<Transform, Move2D> MoveDic2D = new Dictionary<Transform, Move2D>();
  41. public static Dictionary<Transform, Move3D> MoveDic3D = new Dictionary<Transform, Move3D>();
  42. public static Dictionary<Transform, Zoom2D> ZoomDic2D = new Dictionary<Transform, Zoom2D>();
  43. public static Dictionary<Transform, TweenSr> TweenSrDic = new Dictionary<Transform, TweenSr>();
  44. public static Dictionary<Transform, TweenCG> TweenCgDic = new Dictionary<Transform, TweenCG>();
  45. public static Dictionary<Transform, TweenGra> TweenGraDic = new Dictionary<Transform, TweenGra>();
  46. public static Dictionary<Transform, TweenVec> TweenVecDic = new Dictionary<Transform, TweenVec>();
  47. public static Dictionary<Transform, TweenFont> TweenFontDic = new Dictionary<Transform, TweenFont>();
  48. public static Dictionary<Transform, TweenRect> TweenRectDic = new Dictionary<Transform, TweenRect>();
  49. public static Dictionary<Transform, TweenScale> TweenScaleDic = new Dictionary<Transform, TweenScale>();
  50. public static Dictionary<Transform, TweenNumber> TweenNumberDic = new Dictionary<Transform, TweenNumber>();
  51. public static Dictionary<AudioSource, TweenAudio> TweenAudioDic = new Dictionary<AudioSource, TweenAudio>();
  52. public static Dictionary<Transform, StreamScale> StreamScaleDic = new Dictionary<Transform, StreamScale>();
  53. #endregion
  54. public void FixedUpdate()
  55. {
  56. for (int i = 0; i < MoveList.Count; i++)
  57. {
  58. Move move = MoveList[i];
  59. if (move.Do())
  60. {
  61. if (MoveList.Remove(move))
  62. {
  63. i--;
  64. }
  65. }
  66. }
  67. for (int i = 0; i < TweenForList.Count; i++)
  68. {
  69. Tween tween = TweenForList[i];
  70. if (tween.DoForward())
  71. {
  72. if (TweenForList.Remove(tween))
  73. {
  74. i--;
  75. }
  76. }
  77. }
  78. for (int i = 0; i < TweenBacList.Count; i++)
  79. {
  80. Tween tween = TweenBacList[i];
  81. if (tween.DoBackward())
  82. {
  83. if (TweenBacList.Remove(tween))
  84. {
  85. i--;
  86. }
  87. }
  88. }
  89. }
  90. public override void RegistImmed()
  91. {
  92. TimerFunctionDic.Add(Curve.Linear, LinearTimer);
  93. TimerFunctionDic.Add(Curve.EaseOutQuad, EaseOutQuadTimer);
  94. ShakeFuncDicF.Add(Curve.Linear, ShakeLinear);
  95. ShakeFuncDicF.Add(Curve.EaseOutQuad, ShakeEaseOutQuad);
  96. ShakeFuncDicC.Add(Curve.Linear, ShakeLinear);
  97. ShakeFuncDicC.Add(Curve.EaseOutQuad, ShakeEaseOutQuad);
  98. ShakeFuncDicV.Add(Curve.Linear, ShakeLinear);
  99. ShakeFuncDicV.Add(Curve.EaseOutQuad, ShakeEaseOutQuad);
  100. CurveFuncDicF.Add(Curve.Linear, Linear);
  101. CurveFuncDicF.Add(Curve.EaseOutQuad, EaseOutQuad);
  102. CurveFuncDicC.Add(Curve.Linear, Linear);
  103. CurveFuncDicC.Add(Curve.EaseOutQuad, EaseOutQuad);
  104. CurveFuncDicV.Add(Curve.Linear, Linear);
  105. CurveFuncDicV.Add(Curve.EaseOutQuad, EaseOutQuad);
  106. }
  107. #region 曲线
  108. public static float LinearTimer(float value, float duration, float start, float delta)
  109. {
  110. return (value - start)*duration/delta;
  111. }
  112. public static float EaseOutQuadTimer(float value, float duration, float start, float delta)
  113. {
  114. return ((2 - Mathf.Sqrt(4 - 4*(value - start)/delta))/2)*duration;
  115. }
  116. public static float ShakeLinear(float timer, float duration, int repeat, float start, float strength)
  117. {
  118. float sliceTime = duration/(4*repeat);
  119. for (int i = 0; i < repeat*4; i += 4)
  120. {
  121. if (timer > duration)
  122. {
  123. return start;
  124. }
  125. if (timer <= (i + 1)*sliceTime)
  126. {
  127. timer -= (i)*sliceTime;
  128. return Linear(timer, sliceTime, start, strength/(i/4 + 1));
  129. }
  130. else if (timer <= (i + 3)*sliceTime)
  131. {
  132. timer -= (i + 1)*sliceTime;
  133. return Linear(timer, 2*sliceTime, start + strength/(i/4 + 1), -2*strength/(i/4 + 1));
  134. }
  135. else if (timer <= (i + 4)*sliceTime)
  136. {
  137. timer -= (i + 3)*sliceTime;
  138. return Linear(timer, sliceTime, start - strength/(i/4 + 1), strength/(i/4 + 1));
  139. }
  140. }
  141. throw new Exception();
  142. }
  143. public static Color ShakeLinear(float timer, float duration, int repeat, Color start, Color strength)
  144. {
  145. float sliceTime = duration/(4*repeat);
  146. for (int i = 0; i < repeat*4; i += 4)
  147. {
  148. if (timer > duration)
  149. {
  150. return start;
  151. }
  152. if (timer <= (i + 1)*sliceTime)
  153. {
  154. timer -= (i)*sliceTime;
  155. return Linear(timer, sliceTime, start, strength/(i/4 + 1));
  156. }
  157. else if (timer <= (i + 3)*sliceTime)
  158. {
  159. timer -= (i + 1)*sliceTime;
  160. return Linear(timer, 2*sliceTime, start + strength/(i/4 + 1), -2*strength/(i/4 + 1));
  161. }
  162. else if (timer <= (i + 4)*sliceTime)
  163. {
  164. timer -= (i + 3)*sliceTime;
  165. return Linear(timer, sliceTime, start - strength/(i/4 + 1), strength/(i/4 + 1));
  166. }
  167. }
  168. throw new Exception();
  169. }
  170. public static Vector3 ShakeLinear(float timer, float duration, int repeat, Vector3 start, Vector3 strength)
  171. {
  172. float sliceTime = duration/(4*repeat);
  173. for (int i = 0; i < repeat*4; i += 4)
  174. {
  175. if (timer > duration)
  176. {
  177. return start;
  178. }
  179. if (timer <= (i + 1)*sliceTime)
  180. {
  181. timer -= (i)*sliceTime;
  182. return Linear(timer, sliceTime, start, strength/(i/4 + 1));
  183. }
  184. else if (timer <= (i + 3)*sliceTime)
  185. {
  186. timer -= (i + 1)*sliceTime;
  187. return Linear(timer, 2*sliceTime, start + strength/(i/4 + 1), -2*strength/(i/4 + 1));
  188. }
  189. else if (timer <= (i + 4)*sliceTime)
  190. {
  191. timer -= (i + 3)*sliceTime;
  192. return Linear(timer, sliceTime, start - strength/(i/4 + 1), strength/(i/4 + 1));
  193. }
  194. }
  195. throw new Exception();
  196. }
  197. public static float ShakeEaseOutQuad(float timer, float duration, int repeat, float start, float strength)
  198. {
  199. float sliceTime = duration/(4*repeat);
  200. for (int i = 0; i < repeat*4; i += 4)
  201. {
  202. if (timer > duration)
  203. {
  204. return start;
  205. }
  206. if (timer <= (i + 1)*sliceTime)
  207. {
  208. timer -= (i)*sliceTime;
  209. return EaseOutQuad(timer, sliceTime, start, strength/(i/4 + 1));
  210. }
  211. else if (timer <= (i + 3)*sliceTime)
  212. {
  213. timer -= (i + 1)*sliceTime;
  214. return EaseOutQuad(timer, 2*sliceTime, start + strength/(i/4 + 1), -2*strength/(i/4 + 1));
  215. }
  216. else if (timer <= (i + 4)*sliceTime)
  217. {
  218. timer -= (i + 3)*sliceTime;
  219. return EaseOutQuad(timer, sliceTime, start - strength/(i/4 + 1), strength/(i/4 + 1));
  220. }
  221. }
  222. throw new Exception();
  223. }
  224. public static Color ShakeEaseOutQuad(float timer, float duration, int repeat, Color start, Color strength)
  225. {
  226. float sliceTime = duration/(4*repeat);
  227. for (int i = 0; i < repeat*4; i += 4)
  228. {
  229. if (timer > duration)
  230. {
  231. return start;
  232. }
  233. if (timer <= (i + 1)*sliceTime)
  234. {
  235. timer -= (i)*sliceTime;
  236. return EaseOutQuad(timer, sliceTime, start, strength/(i/4 + 1));
  237. }
  238. else if (timer <= (i + 3)*sliceTime)
  239. {
  240. timer -= (i + 1)*sliceTime;
  241. return EaseOutQuad(timer, 2*sliceTime, start + strength/(i/4 + 1), -2*strength/(i/4 + 1));
  242. }
  243. else if (timer <= (i + 4)*sliceTime)
  244. {
  245. timer -= (i + 3)*sliceTime;
  246. return EaseOutQuad(timer, sliceTime, start - strength/(i/4 + 1), strength/(i/4 + 1));
  247. }
  248. }
  249. throw new Exception();
  250. }
  251. public static Vector3 ShakeEaseOutQuad(float timer, float duration, int repeat, Vector3 start, Vector3 strength)
  252. {
  253. float sliceTime = duration/(4*repeat);
  254. for (int i = 0; i < repeat*4; i += 4)
  255. {
  256. if (timer > duration)
  257. {
  258. return start;
  259. }
  260. if (timer <= (i + 1)*sliceTime)
  261. {
  262. timer -= (i)*sliceTime;
  263. return EaseOutQuad(timer, sliceTime, start, strength/(i/4 + 1));
  264. }
  265. else if (timer <= (i + 3)*sliceTime)
  266. {
  267. timer -= (i + 1)*sliceTime;
  268. return EaseOutQuad(timer, 2*sliceTime, start + strength/(i/4 + 1), -2*strength/(i/4 + 1));
  269. }
  270. else if (timer <= (i + 4)*sliceTime)
  271. {
  272. timer -= (i + 3)*sliceTime;
  273. return EaseOutQuad(timer, sliceTime, start - strength/(i/4 + 1), strength/(i/4 + 1));
  274. }
  275. }
  276. throw new Exception();
  277. }
  278. public static float Linear(float timer, float duration, float start, float delta)
  279. {
  280. if (timer >= duration)
  281. {
  282. return start + delta;
  283. }
  284. if (Math.Abs(duration) < 0.0005f)
  285. {
  286. return delta + start;
  287. }
  288. else
  289. {
  290. return delta*timer/duration + start;
  291. }
  292. }
  293. public static Color Linear(float timer, float duration, Color start, Color delta)
  294. {
  295. 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));
  296. }
  297. public static Vector3 Linear(float timer, float duration, Vector3 start, Vector3 delta)
  298. {
  299. return new Vector3(Linear(timer, duration, start.x, delta.x), Linear(timer, duration, start.y, delta.y), Linear(timer, duration, start.z, delta.z));
  300. }
  301. public static float EaseOutQuad(float timer, float duration, float start, float delta)
  302. {
  303. if (timer >= duration)
  304. {
  305. return start + delta;
  306. }
  307. if (Math.Abs(duration) < 0.0005f)
  308. {
  309. return delta + start;
  310. }
  311. else
  312. {
  313. timer /= duration;
  314. return -delta*timer*(timer - 2) + start;
  315. }
  316. }
  317. public static Color EaseOutQuad(float timer, float duration, Color start, Color delta)
  318. {
  319. 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));
  320. }
  321. public static Vector3 EaseOutQuad(float timer, float duration, Vector3 start, Vector3 delta)
  322. {
  323. return new Vector3(EaseOutQuad(timer, duration, start.x, delta.x), EaseOutQuad(timer, duration, start.y, delta.y), EaseOutQuad(timer, duration, start.z, delta.z));
  324. }
  325. #endregion
  326. #region 播放动画
  327. public static Shake Shake(Transform target, float duration, int repeat, Vector3 strength, Curve curve)
  328. {
  329. Shake move;
  330. if (ShakeDic.TryGetValue(target, out move))
  331. {
  332. move.StartShake(repeat, duration, strength, curve);
  333. }
  334. else
  335. {
  336. move = CreateShake(target);
  337. move.StartShake(repeat, duration, strength, curve);
  338. }
  339. return move;
  340. }
  341. public static Move2D Move2D(Transform target, Vector3 destination, float duration, bool local, Curve curve)
  342. {
  343. Move2D move;
  344. if (local)
  345. {
  346. destination.z = target.localPosition.z;
  347. }
  348. else
  349. {
  350. destination.z = target.position.z;
  351. }
  352. if (MoveDic2D.TryGetValue(target, out move))
  353. {
  354. move.StartMove(destination, duration, local, curve);
  355. return move;
  356. }
  357. else
  358. {
  359. move = CreateMove2D(target);
  360. move.StartMove(destination, duration, local, curve);
  361. return move;
  362. }
  363. }
  364. public static Move3D Move3D(Transform target, Vector3 destination, float duration, bool local, Curve curve)
  365. {
  366. Move3D move;
  367. if (MoveDic3D.TryGetValue(target, out move))
  368. {
  369. move.StartMove(destination, duration, local, curve);
  370. return move;
  371. }
  372. else
  373. {
  374. move = CreateMove3D(target);
  375. move.StartMove(destination, duration, local, curve);
  376. return move;
  377. }
  378. }
  379. public static Move2D MoveOffset2D(Transform target, Vector3 offset, float duration, bool local, Curve curve)
  380. {
  381. Move2D move;
  382. Vector3 destination;
  383. if (local)
  384. {
  385. destination = target.localPosition + offset;
  386. destination.z = target.localPosition.z;
  387. }
  388. else
  389. {
  390. destination = target.position + offset;
  391. destination.z = target.position.z;
  392. }
  393. if (MoveDic2D.TryGetValue(target, out move))
  394. {
  395. move.StartMove(destination, duration, local, curve);
  396. return move;
  397. }
  398. else
  399. {
  400. move = CreateMove2D(target);
  401. move.StartMove(destination, duration, local, curve);
  402. return move;
  403. }
  404. }
  405. public static Move3D MoveOffset3D(Transform target, Vector3 offset, float duration, bool local, Curve curve)
  406. {
  407. Move3D move;
  408. Vector3 destination;
  409. if (local)
  410. {
  411. destination = target.localPosition + offset;
  412. }
  413. else
  414. {
  415. destination = target.position + offset;
  416. }
  417. if (MoveDic3D.TryGetValue(target, out move))
  418. {
  419. move.StartMove(destination, duration, local, curve);
  420. return move;
  421. }
  422. else
  423. {
  424. move = CreateMove3D(target);
  425. move.StartMove(destination, duration, local, curve);
  426. return move;
  427. }
  428. }
  429. public static Zoom2D Zoom2D(Transform target, float origin, float destination, float duration, float stay, Transform targetZoom, Curve curve)
  430. {
  431. Zoom2D move;
  432. if (ZoomDic2D.TryGetValue(target, out move))
  433. {
  434. move.StartZoom(origin, destination, duration, stay, targetZoom, curve);
  435. }
  436. else
  437. {
  438. move = CreateZoom2D(target);
  439. move.StartZoom(origin, destination, duration, stay, targetZoom, curve);
  440. }
  441. return move;
  442. }
  443. public static Zoom2D Zoom2D(Transform target, float destination, float duration, float stay, Transform targetZoom, Curve curve)
  444. {
  445. Zoom2D move;
  446. Camera camera = target.GetComponent<Camera>();
  447. if (ZoomDic2D.TryGetValue(target, out move))
  448. {
  449. move.StartZoom(camera.orthographicSize, destination, duration, stay, targetZoom, curve);
  450. }
  451. else
  452. {
  453. move = CreateZoom2D(target);
  454. move.StartZoom(camera.orthographicSize, destination, duration, stay, targetZoom, curve);
  455. }
  456. return move;
  457. }
  458. public static StreamScale StreamForScale(Transform target)
  459. {
  460. StreamScale stream;
  461. if (StreamScaleDic.TryGetValue(target, out stream))
  462. {
  463. stream.StartForward();
  464. }
  465. else
  466. {
  467. throw new Exception();
  468. }
  469. return stream;
  470. }
  471. public static TweenSr TweenForSr(Transform target)
  472. {
  473. TweenSr tween;
  474. if (TweenSrDic.TryGetValue(target, out tween))
  475. {
  476. tween.StartForward();
  477. }
  478. else
  479. {
  480. throw new Exception();
  481. }
  482. return tween;
  483. }
  484. public static TweenCG TweenForCG(Transform target)
  485. {
  486. TweenCG tween;
  487. if (TweenCgDic.TryGetValue(target, out tween))
  488. {
  489. tween.StartForward();
  490. }
  491. else
  492. {
  493. throw new Exception();
  494. }
  495. return tween;
  496. }
  497. public static TweenGra TweenForGra(Transform target)
  498. {
  499. TweenGra tween;
  500. if (TweenGraDic.TryGetValue(target, out tween))
  501. {
  502. tween.StartForward();
  503. }
  504. else
  505. {
  506. throw new Exception();
  507. }
  508. return tween;
  509. }
  510. public static TweenVec TweenForVec(Transform target)
  511. {
  512. TweenVec tween;
  513. if (TweenVecDic.TryGetValue(target, out tween))
  514. {
  515. tween.StartForward();
  516. }
  517. else
  518. {
  519. throw new Exception();
  520. }
  521. return tween;
  522. }
  523. public static TweenFont TweenForFont(Transform target)
  524. {
  525. TweenFont tween;
  526. if (TweenFontDic.TryGetValue(target, out tween))
  527. {
  528. tween.StartForward();
  529. }
  530. else
  531. {
  532. throw new Exception();
  533. }
  534. return tween;
  535. }
  536. public static TweenRect TweenForRect(Transform target)
  537. {
  538. TweenRect tween;
  539. if (TweenRectDic.TryGetValue(target, out tween))
  540. {
  541. tween.StartForward();
  542. }
  543. else
  544. {
  545. throw new Exception();
  546. }
  547. return tween;
  548. }
  549. public static TweenScale TweenForScale(Transform target)
  550. {
  551. TweenScale tween;
  552. if (TweenScaleDic.TryGetValue(target, out tween))
  553. {
  554. tween.StartForward();
  555. }
  556. else
  557. {
  558. throw new Exception();
  559. }
  560. return tween;
  561. }
  562. public static TweenAudio TweenForAudio(Transform target)
  563. {
  564. TweenAudio tween;
  565. AudioSource audioSource = target.GetComponent<AudioSource>();
  566. if (TweenAudioDic.TryGetValue(audioSource, out tween))
  567. {
  568. tween.StartForward();
  569. }
  570. else
  571. {
  572. throw new Exception();
  573. }
  574. return tween;
  575. }
  576. public static TweenAudio TweenForAudio(AudioSource audioSource)
  577. {
  578. TweenAudio tween;
  579. if (TweenAudioDic.TryGetValue(audioSource, out tween))
  580. {
  581. tween.StartForward();
  582. }
  583. else
  584. {
  585. throw new Exception();
  586. }
  587. return tween;
  588. }
  589. public static TweenNumber TweenForNumber(Transform target)
  590. {
  591. TweenNumber tween;
  592. if (TweenNumberDic.TryGetValue(target, out tween))
  593. {
  594. tween.StartForward();
  595. }
  596. else
  597. {
  598. throw new Exception();
  599. }
  600. return tween;
  601. }
  602. public static TweenSr TweenBacSr(Transform target)
  603. {
  604. TweenSr tween;
  605. if (TweenSrDic.TryGetValue(target, out tween))
  606. {
  607. tween.StartBackward();
  608. }
  609. else
  610. {
  611. throw new Exception();
  612. }
  613. return tween;
  614. }
  615. public static TweenCG TweenBacCG(Transform target)
  616. {
  617. TweenCG tween;
  618. if (TweenCgDic.TryGetValue(target, out tween))
  619. {
  620. tween.StartBackward();
  621. }
  622. else
  623. {
  624. throw new Exception();
  625. }
  626. return tween;
  627. }
  628. public static TweenGra TweenBacGra(Transform target)
  629. {
  630. TweenGra tween;
  631. if (TweenGraDic.TryGetValue(target, out tween))
  632. {
  633. tween.StartBackward();
  634. }
  635. else
  636. {
  637. throw new Exception(target.name);
  638. }
  639. return tween;
  640. }
  641. public static TweenVec TweenBacVec(Transform target)
  642. {
  643. TweenVec tween;
  644. if (TweenVecDic.TryGetValue(target, out tween))
  645. {
  646. tween.StartBackward();
  647. }
  648. else
  649. {
  650. throw new Exception(target.name);
  651. }
  652. return tween;
  653. }
  654. public static TweenFont TweenBacFont(Transform target)
  655. {
  656. TweenFont tween;
  657. if (TweenFontDic.TryGetValue(target, out tween))
  658. {
  659. tween.StartBackward();
  660. }
  661. else
  662. {
  663. throw new Exception();
  664. }
  665. return tween;
  666. }
  667. public static TweenRect TweenBacRect(Transform target)
  668. {
  669. TweenRect tween;
  670. if (TweenRectDic.TryGetValue(target, out tween))
  671. {
  672. tween.StartBackward();
  673. }
  674. else
  675. {
  676. throw new Exception();
  677. }
  678. return tween;
  679. }
  680. public static TweenScale TweenBacScale(Transform target)
  681. {
  682. TweenScale tween;
  683. if (TweenScaleDic.TryGetValue(target, out tween))
  684. {
  685. tween.StartBackward();
  686. }
  687. else
  688. {
  689. throw new Exception();
  690. }
  691. return tween;
  692. }
  693. public static TweenAudio TweenBacAudio(Transform target)
  694. {
  695. TweenAudio tween;
  696. AudioSource audioSource = target.GetComponent<AudioSource>();
  697. if (TweenAudioDic.TryGetValue(audioSource, out tween))
  698. {
  699. tween.StartBackward();
  700. }
  701. else
  702. {
  703. throw new Exception();
  704. }
  705. return tween;
  706. }
  707. public static TweenAudio TweenBacAudio(AudioSource audioSource)
  708. {
  709. TweenAudio tween;
  710. if (TweenAudioDic.TryGetValue(audioSource, out tween))
  711. {
  712. tween.StartBackward();
  713. }
  714. else
  715. {
  716. throw new Exception();
  717. }
  718. return tween;
  719. }
  720. public static TweenNumber TweenBacNumber(Transform target)
  721. {
  722. TweenNumber tween;
  723. if (TweenNumberDic.TryGetValue(target, out tween))
  724. {
  725. tween.StartBackward();
  726. }
  727. else
  728. {
  729. throw new Exception();
  730. }
  731. return tween;
  732. }
  733. public static TweenSr TweenConForSr(Transform target)
  734. {
  735. TweenSr tween;
  736. if (TweenSrDic.TryGetValue(target, out tween))
  737. {
  738. tween.ConfineForward();
  739. }
  740. else
  741. {
  742. throw new Exception();
  743. }
  744. return tween;
  745. }
  746. public static TweenCG TweenConForCG(Transform target)
  747. {
  748. TweenCG tween;
  749. if (TweenCgDic.TryGetValue(target, out tween))
  750. {
  751. tween.ConfineForward();
  752. }
  753. else
  754. {
  755. throw new Exception();
  756. }
  757. return tween;
  758. }
  759. public static TweenGra TweenConForGra(Transform target)
  760. {
  761. TweenGra tween;
  762. if (TweenGraDic.TryGetValue(target, out tween))
  763. {
  764. tween.ConfineForward();
  765. }
  766. else
  767. {
  768. throw new Exception();
  769. }
  770. return tween;
  771. }
  772. public static TweenVec TweenConForVec(Transform target)
  773. {
  774. TweenVec tween;
  775. if (TweenVecDic.TryGetValue(target, out tween))
  776. {
  777. tween.ConfineForward();
  778. }
  779. else
  780. {
  781. throw new Exception();
  782. }
  783. return tween;
  784. }
  785. public static TweenFont TweenConForFont(Transform target)
  786. {
  787. TweenFont tween;
  788. if (TweenFontDic.TryGetValue(target, out tween))
  789. {
  790. tween.ConfineForward();
  791. }
  792. else
  793. {
  794. throw new Exception();
  795. }
  796. return tween;
  797. }
  798. public static TweenRect TweenConForRect(Transform target)
  799. {
  800. TweenRect tween;
  801. if (TweenRectDic.TryGetValue(target, out tween))
  802. {
  803. tween.ConfineForward();
  804. }
  805. else
  806. {
  807. throw new Exception();
  808. }
  809. return tween;
  810. }
  811. public static TweenScale TweenConForScale(Transform target)
  812. {
  813. TweenScale tween;
  814. if (TweenScaleDic.TryGetValue(target, out tween))
  815. {
  816. tween.ConfineForward();
  817. }
  818. else
  819. {
  820. throw new Exception();
  821. }
  822. return tween;
  823. }
  824. public static TweenAudio TweenConForAudio(Transform target)
  825. {
  826. TweenAudio tween;
  827. AudioSource audioSource = target.GetComponent<AudioSource>();
  828. if (TweenAudioDic.TryGetValue(audioSource, out tween))
  829. {
  830. tween.ConfineForward();
  831. }
  832. else
  833. {
  834. throw new Exception();
  835. }
  836. return tween;
  837. }
  838. public static TweenAudio TweenConForAudio(AudioSource audioSource)
  839. {
  840. TweenAudio tween;
  841. if (TweenAudioDic.TryGetValue(audioSource, out tween))
  842. {
  843. tween.ConfineForward();
  844. }
  845. else
  846. {
  847. throw new Exception();
  848. }
  849. return tween;
  850. }
  851. public static TweenNumber TweenConForNumber(Transform target)
  852. {
  853. TweenNumber tween;
  854. if (TweenNumberDic.TryGetValue(target, out tween))
  855. {
  856. tween.ConfineForward();
  857. }
  858. else
  859. {
  860. throw new Exception();
  861. }
  862. return tween;
  863. }
  864. public static TweenSr TweenConBacSr(Transform target)
  865. {
  866. TweenSr tween;
  867. if (TweenSrDic.TryGetValue(target, out tween))
  868. {
  869. tween.ConfineBackward();
  870. }
  871. else
  872. {
  873. throw new Exception();
  874. }
  875. return tween;
  876. }
  877. public static TweenCG TweenConBacCG(Transform target)
  878. {
  879. TweenCG tween;
  880. if (TweenCgDic.TryGetValue(target, out tween))
  881. {
  882. tween.ConfineBackward();
  883. }
  884. else
  885. {
  886. throw new Exception();
  887. }
  888. return tween;
  889. }
  890. public static TweenGra TweenConBacGra(Transform target)
  891. {
  892. TweenGra tween;
  893. if (TweenGraDic.TryGetValue(target, out tween))
  894. {
  895. tween.ConfineBackward();
  896. }
  897. else
  898. {
  899. throw new Exception(target.name);
  900. }
  901. return tween;
  902. }
  903. public static TweenVec TweenConBacVec(Transform target)
  904. {
  905. TweenVec tween;
  906. if (TweenVecDic.TryGetValue(target, out tween))
  907. {
  908. tween.ConfineBackward();
  909. }
  910. else
  911. {
  912. throw new Exception(target.name);
  913. }
  914. return tween;
  915. }
  916. public static TweenFont TweenConBacFont(Transform target)
  917. {
  918. TweenFont tween;
  919. if (TweenFontDic.TryGetValue(target, out tween))
  920. {
  921. tween.ConfineBackward();
  922. }
  923. else
  924. {
  925. throw new Exception();
  926. }
  927. return tween;
  928. }
  929. public static TweenRect TweenConBacRect(Transform target)
  930. {
  931. TweenRect tween;
  932. if (TweenRectDic.TryGetValue(target, out tween))
  933. {
  934. tween.ConfineBackward();
  935. }
  936. else
  937. {
  938. throw new Exception();
  939. }
  940. return tween;
  941. }
  942. public static TweenScale TweenConBacScale(Transform target)
  943. {
  944. TweenScale tween;
  945. if (TweenScaleDic.TryGetValue(target, out tween))
  946. {
  947. tween.ConfineBackward();
  948. }
  949. else
  950. {
  951. throw new Exception();
  952. }
  953. return tween;
  954. }
  955. public static TweenAudio TweenConBacAudio(Transform target)
  956. {
  957. TweenAudio tween;
  958. AudioSource audioSource = target.GetComponent<AudioSource>();
  959. if (TweenAudioDic.TryGetValue(audioSource, out tween))
  960. {
  961. tween.ConfineBackward();
  962. }
  963. else
  964. {
  965. throw new Exception();
  966. }
  967. return tween;
  968. }
  969. public static TweenAudio TweenConBacAudio(AudioSource audioSource)
  970. {
  971. TweenAudio tween;
  972. if (TweenAudioDic.TryGetValue(audioSource, out tween))
  973. {
  974. tween.ConfineBackward();
  975. }
  976. else
  977. {
  978. throw new Exception();
  979. }
  980. return tween;
  981. }
  982. public static TweenNumber TweenConBacNumber(Transform target)
  983. {
  984. TweenNumber tween;
  985. if (TweenNumberDic.TryGetValue(target, out tween))
  986. {
  987. tween.ConfineBackward();
  988. }
  989. else
  990. {
  991. throw new Exception();
  992. }
  993. return tween;
  994. }
  995. public static TweenSr TweenReForSr(Transform target)
  996. {
  997. TweenSr tween;
  998. if (TweenSrDic.TryGetValue(target, out tween))
  999. {
  1000. tween.ReForward();
  1001. }
  1002. else
  1003. {
  1004. throw new Exception();
  1005. }
  1006. return tween;
  1007. }
  1008. public static TweenCG TweenReForCG(Transform target)
  1009. {
  1010. TweenCG tween;
  1011. if (TweenCgDic.TryGetValue(target, out tween))
  1012. {
  1013. tween.ReForward();
  1014. }
  1015. else
  1016. {
  1017. throw new Exception();
  1018. }
  1019. return tween;
  1020. }
  1021. public static TweenGra TweenReForGra(Transform target)
  1022. {
  1023. TweenGra tween;
  1024. if (TweenGraDic.TryGetValue(target, out tween))
  1025. {
  1026. tween.ReForward();
  1027. }
  1028. else
  1029. {
  1030. throw new Exception();
  1031. }
  1032. return tween;
  1033. }
  1034. public static TweenVec TweenReForVec(Transform target)
  1035. {
  1036. TweenVec tween;
  1037. if (TweenVecDic.TryGetValue(target, out tween))
  1038. {
  1039. tween.ReForward();
  1040. }
  1041. else
  1042. {
  1043. throw new Exception();
  1044. }
  1045. return tween;
  1046. }
  1047. public static TweenFont TweenReForFont(Transform target)
  1048. {
  1049. TweenFont tween;
  1050. if (TweenFontDic.TryGetValue(target, out tween))
  1051. {
  1052. tween.ReForward();
  1053. }
  1054. else
  1055. {
  1056. throw new Exception();
  1057. }
  1058. return tween;
  1059. }
  1060. public static TweenRect TweenReForRect(Transform target)
  1061. {
  1062. TweenRect tween;
  1063. if (TweenRectDic.TryGetValue(target, out tween))
  1064. {
  1065. tween.ReForward();
  1066. }
  1067. else
  1068. {
  1069. throw new Exception();
  1070. }
  1071. return tween;
  1072. }
  1073. public static TweenScale TweenReForScale(Transform target)
  1074. {
  1075. TweenScale tween;
  1076. if (TweenScaleDic.TryGetValue(target, out tween))
  1077. {
  1078. tween.ReForward();
  1079. }
  1080. else
  1081. {
  1082. throw new Exception();
  1083. }
  1084. return tween;
  1085. }
  1086. public static TweenAudio TweenReForAudio(Transform target)
  1087. {
  1088. TweenAudio tween;
  1089. AudioSource audioSource = target.GetComponent<AudioSource>();
  1090. if (TweenAudioDic.TryGetValue(audioSource, out tween))
  1091. {
  1092. tween.ReForward();
  1093. }
  1094. else
  1095. {
  1096. throw new Exception();
  1097. }
  1098. return tween;
  1099. }
  1100. public static TweenAudio TweenReForAudio(AudioSource audioSource)
  1101. {
  1102. TweenAudio tween;
  1103. if (TweenAudioDic.TryGetValue(audioSource, out tween))
  1104. {
  1105. tween.ReForward();
  1106. }
  1107. else
  1108. {
  1109. throw new Exception();
  1110. }
  1111. return tween;
  1112. }
  1113. public static TweenNumber TweenReForNumber(Transform target)
  1114. {
  1115. TweenNumber tween;
  1116. if (TweenNumberDic.TryGetValue(target, out tween))
  1117. {
  1118. tween.ReForward();
  1119. }
  1120. else
  1121. {
  1122. throw new Exception();
  1123. }
  1124. return tween;
  1125. }
  1126. public static TweenSr TweenReBacSr(Transform target)
  1127. {
  1128. TweenSr tween;
  1129. if (TweenSrDic.TryGetValue(target, out tween))
  1130. {
  1131. tween.ReBackward();
  1132. }
  1133. else
  1134. {
  1135. throw new Exception();
  1136. }
  1137. return tween;
  1138. }
  1139. public static TweenCG TweenReBacCG(Transform target)
  1140. {
  1141. TweenCG tween;
  1142. if (TweenCgDic.TryGetValue(target, out tween))
  1143. {
  1144. tween.ReBackward();
  1145. }
  1146. else
  1147. {
  1148. throw new Exception();
  1149. }
  1150. return tween;
  1151. }
  1152. public static TweenGra TweenReBacGra(Transform target)
  1153. {
  1154. TweenGra tween;
  1155. if (TweenGraDic.TryGetValue(target, out tween))
  1156. {
  1157. tween.ReBackward();
  1158. }
  1159. else
  1160. {
  1161. throw new Exception(target.name);
  1162. }
  1163. return tween;
  1164. }
  1165. public static TweenVec TweenReBacVec(Transform target)
  1166. {
  1167. TweenVec tween;
  1168. if (TweenVecDic.TryGetValue(target, out tween))
  1169. {
  1170. tween.ReBackward();
  1171. }
  1172. else
  1173. {
  1174. throw new Exception(target.name);
  1175. }
  1176. return tween;
  1177. }
  1178. public static TweenFont TweenReBacFont(Transform target)
  1179. {
  1180. TweenFont tween;
  1181. if (TweenFontDic.TryGetValue(target, out tween))
  1182. {
  1183. tween.ReBackward();
  1184. }
  1185. else
  1186. {
  1187. throw new Exception();
  1188. }
  1189. return tween;
  1190. }
  1191. public static TweenRect TweenReBacRect(Transform target)
  1192. {
  1193. TweenRect tween;
  1194. if (TweenRectDic.TryGetValue(target, out tween))
  1195. {
  1196. tween.ReBackward();
  1197. }
  1198. else
  1199. {
  1200. throw new Exception();
  1201. }
  1202. return tween;
  1203. }
  1204. public static TweenScale TweenReBacScale(Transform target)
  1205. {
  1206. TweenScale tween;
  1207. if (TweenScaleDic.TryGetValue(target, out tween))
  1208. {
  1209. tween.ReBackward();
  1210. }
  1211. else
  1212. {
  1213. throw new Exception();
  1214. }
  1215. return tween;
  1216. }
  1217. public static TweenAudio TweenReBacAudio(Transform target)
  1218. {
  1219. TweenAudio tween;
  1220. AudioSource audioSource = target.GetComponent<AudioSource>();
  1221. if (TweenAudioDic.TryGetValue(audioSource, out tween))
  1222. {
  1223. tween.ReBackward();
  1224. }
  1225. else
  1226. {
  1227. throw new Exception();
  1228. }
  1229. return tween;
  1230. }
  1231. public static TweenAudio TweenReBacAudio(AudioSource audioSource)
  1232. {
  1233. TweenAudio tween;
  1234. if (TweenAudioDic.TryGetValue(audioSource, out tween))
  1235. {
  1236. tween.ReBackward();
  1237. }
  1238. else
  1239. {
  1240. throw new Exception();
  1241. }
  1242. return tween;
  1243. }
  1244. public static TweenNumber TweenReBacNumber(Transform target)
  1245. {
  1246. TweenNumber tween;
  1247. if (TweenNumberDic.TryGetValue(target, out tween))
  1248. {
  1249. tween.ReBackward();
  1250. }
  1251. else
  1252. {
  1253. throw new Exception();
  1254. }
  1255. return tween;
  1256. }
  1257. #endregion
  1258. #region 获取动画
  1259. public static float GetTimerVec3(Vector3 value, float duration, Vector3 start, Vector3 delta, Curve curve)
  1260. {
  1261. if (!delta.x.Equal(0))
  1262. {
  1263. return TimerFunctionDic[curve](value.x, duration, start.x, delta.x);
  1264. }
  1265. else if (!delta.y.Equal(0))
  1266. {
  1267. return TimerFunctionDic[curve](value.y, duration, start.y, delta.y);
  1268. }
  1269. else if (!delta.z.Equal(0))
  1270. {
  1271. return TimerFunctionDic[curve](value.z, duration, start.z, delta.z);
  1272. }
  1273. else
  1274. {
  1275. throw new Exception();
  1276. }
  1277. }
  1278. public static float GetTimerFloat(float value, float duration, float start, float delta, Curve curve)
  1279. {
  1280. return TimerFunctionDic[curve](value, duration, start, delta);
  1281. }
  1282. public static float GetTimerColor(Color value, float duration, Color start, Color delta, Curve curve)
  1283. {
  1284. if (Math.Abs(delta.r) > 0.0005f)
  1285. {
  1286. return TimerFunctionDic[curve](value.r, duration, start.r, delta.r);
  1287. }
  1288. else if (Math.Abs(delta.g) > 0.0005f)
  1289. {
  1290. return TimerFunctionDic[curve](value.g, duration, start.g, delta.g);
  1291. }
  1292. else if (Math.Abs(delta.b) > 0.0005f)
  1293. {
  1294. return TimerFunctionDic[curve](value.b, duration, start.b, delta.b);
  1295. }
  1296. else if (Math.Abs(delta.a) > 0.0005f)
  1297. {
  1298. return TimerFunctionDic[curve](value.a, duration, start.a, delta.a);
  1299. }
  1300. else
  1301. {
  1302. throw new Exception();
  1303. }
  1304. }
  1305. public static Shake GetShake(Transform target)
  1306. {
  1307. Shake move;
  1308. if (ShakeDic.TryGetValue(target, out move))
  1309. {
  1310. return move;
  1311. }
  1312. else
  1313. {
  1314. throw new Exception();
  1315. }
  1316. }
  1317. public static Move2D GetMove2D(Transform target)
  1318. {
  1319. Move2D move;
  1320. if (MoveDic2D.TryGetValue(target, out move))
  1321. {
  1322. return move;
  1323. }
  1324. else
  1325. {
  1326. throw new Exception();
  1327. }
  1328. }
  1329. public static Move3D GetMove3D(Transform target)
  1330. {
  1331. Move3D move;
  1332. if (MoveDic3D.TryGetValue(target, out move))
  1333. {
  1334. return move;
  1335. }
  1336. else
  1337. {
  1338. throw new Exception();
  1339. }
  1340. }
  1341. public static Zoom2D GetZoom2D(Transform target)
  1342. {
  1343. Zoom2D move;
  1344. if (ZoomDic2D.TryGetValue(target, out move))
  1345. {
  1346. return move;
  1347. }
  1348. else
  1349. {
  1350. throw new Exception();
  1351. }
  1352. }
  1353. public static StreamScale GetStreamScale(Transform target)
  1354. {
  1355. StreamScale stream;
  1356. if (StreamScaleDic.TryGetValue(target, out stream))
  1357. {
  1358. return stream;
  1359. }
  1360. else
  1361. {
  1362. throw new Exception();
  1363. }
  1364. }
  1365. public static TweenSr GetTweenSr(Transform target)
  1366. {
  1367. TweenSr tween;
  1368. if (TweenSrDic.TryGetValue(target, out tween))
  1369. {
  1370. return tween;
  1371. }
  1372. else
  1373. {
  1374. throw new Exception();
  1375. }
  1376. }
  1377. public static TweenCG GetTweenCG(Transform target)
  1378. {
  1379. TweenCG tween;
  1380. if (TweenCgDic.TryGetValue(target, out tween))
  1381. {
  1382. return tween;
  1383. }
  1384. else
  1385. {
  1386. throw new Exception();
  1387. }
  1388. }
  1389. public static TweenGra GetTweenGra(Transform target)
  1390. {
  1391. TweenGra tween;
  1392. if (TweenGraDic.TryGetValue(target, out tween))
  1393. {
  1394. return tween;
  1395. }
  1396. else
  1397. {
  1398. throw new Exception();
  1399. }
  1400. }
  1401. public static TweenVec GetTweenVec(Transform target)
  1402. {
  1403. TweenVec tween;
  1404. if (TweenVecDic.TryGetValue(target, out tween))
  1405. {
  1406. return tween;
  1407. }
  1408. else
  1409. {
  1410. throw new Exception();
  1411. }
  1412. }
  1413. public static TweenFont GetTweenFont(Transform target)
  1414. {
  1415. TweenFont tween;
  1416. if (TweenFontDic.TryGetValue(target, out tween))
  1417. {
  1418. return tween;
  1419. }
  1420. else
  1421. {
  1422. throw new Exception();
  1423. }
  1424. }
  1425. public static TweenRect GetTweenRect(Transform target)
  1426. {
  1427. TweenRect tween;
  1428. if (TweenRectDic.TryGetValue(target, out tween))
  1429. {
  1430. return tween;
  1431. }
  1432. else
  1433. {
  1434. throw new Exception();
  1435. }
  1436. }
  1437. public static TweenScale GetTweenScale(Transform target)
  1438. {
  1439. TweenScale tween;
  1440. if (TweenScaleDic.TryGetValue(target, out tween))
  1441. {
  1442. return tween;
  1443. }
  1444. else
  1445. {
  1446. throw new Exception();
  1447. }
  1448. }
  1449. public static TweenAudio GetTweenAudio(Transform target)
  1450. {
  1451. TweenAudio tween;
  1452. AudioSource audioSource = target.GetComponent<AudioSource>();
  1453. if (TweenAudioDic.TryGetValue(audioSource, out tween))
  1454. {
  1455. return tween;
  1456. }
  1457. else
  1458. {
  1459. throw new Exception();
  1460. }
  1461. }
  1462. public static TweenAudio GetTweenAudio(AudioSource audioSource)
  1463. {
  1464. TweenAudio tween;
  1465. if (TweenAudioDic.TryGetValue(audioSource, out tween))
  1466. {
  1467. return tween;
  1468. }
  1469. else
  1470. {
  1471. throw new Exception();
  1472. }
  1473. }
  1474. public static TweenNumber GetTweenNumber(Transform target)
  1475. {
  1476. TweenNumber tween;
  1477. if (TweenNumberDic.TryGetValue(target, out tween))
  1478. {
  1479. return tween;
  1480. }
  1481. else
  1482. {
  1483. throw new Exception();
  1484. }
  1485. }
  1486. #endregion
  1487. #region 创建动画
  1488. public static Shake CreateShake(Transform target)
  1489. {
  1490. if (ShakeDic.ContainsKey(target))
  1491. {
  1492. Shake shake = ShakeDic[target];
  1493. ShakeDic[target] = new Shake(target);
  1494. return shake;
  1495. }
  1496. else
  1497. {
  1498. Shake shake = new Shake(target);
  1499. ShakeDic.Add(target, shake);
  1500. return shake;
  1501. }
  1502. }
  1503. public static Move2D CreateMove2D(Transform target)
  1504. {
  1505. if (MoveDic2D.ContainsKey(target))
  1506. {
  1507. Move2D move2D = MoveDic2D[target];
  1508. MoveDic2D[target] = new Move2D(target);
  1509. return move2D;
  1510. }
  1511. else
  1512. {
  1513. Move2D move2D = new Move2D(target);
  1514. MoveDic2D.Add(target, move2D);
  1515. return move2D;
  1516. }
  1517. }
  1518. public static Move3D CreateMove3D(Transform target)
  1519. {
  1520. if (MoveDic3D.ContainsKey(target))
  1521. {
  1522. Move3D move3D = MoveDic3D[target];
  1523. MoveDic3D[target] = new Move3D(target);
  1524. return move3D;
  1525. }
  1526. else
  1527. {
  1528. Move3D move3D = new Move3D(target);
  1529. MoveDic3D.Add(target, move3D);
  1530. return move3D;
  1531. }
  1532. }
  1533. public static Zoom2D CreateZoom2D(Transform target)
  1534. {
  1535. if (ZoomDic2D.ContainsKey(target))
  1536. {
  1537. Zoom2D zoom2D = ZoomDic2D[target];
  1538. ZoomDic2D[target] = new Zoom2D(target.GetComponent<Camera>());
  1539. return zoom2D;
  1540. }
  1541. else
  1542. {
  1543. Zoom2D zoom2D = new Zoom2D(target.GetComponent<Camera>());
  1544. ZoomDic2D.Add(target, zoom2D);
  1545. return zoom2D;
  1546. }
  1547. }
  1548. public static StreamScale CreateStreamScale(Transform target, List<float> delayList, List<float> durationList, List<VecPair> destKvList, bool originActive, bool destActive, Curve curve, bool cg = false, List<UnityAction> actionList = null)
  1549. {
  1550. StreamScale streamScale;
  1551. if (StreamScaleDic.ContainsKey(target))
  1552. {
  1553. streamScale = StreamScaleDic[target];
  1554. StreamScaleDic[target] = new StreamScale(target, delayList, durationList, destKvList, originActive, destActive, curve, cg, actionList);
  1555. return streamScale;
  1556. }
  1557. else
  1558. {
  1559. streamScale = new StreamScale(target, delayList, durationList, destKvList, originActive, destActive, curve, cg, actionList);
  1560. StreamScaleDic.Add(target, streamScale);
  1561. return streamScale;
  1562. }
  1563. }
  1564. public static StreamScale CreateStreamScale(Transform target, List<float> delayList, List<float> durationList, List<Vector3> destList, bool originActive, bool destActive, Curve curve, bool cg = false, List<UnityAction> actionList = null)
  1565. {
  1566. StreamScale streamScale;
  1567. if (StreamScaleDic.ContainsKey(target))
  1568. {
  1569. streamScale = StreamScaleDic[target];
  1570. StreamScaleDic[target] = new StreamScale(target, delayList, durationList, destList, originActive, destActive, curve, cg, actionList);
  1571. return streamScale;
  1572. }
  1573. else
  1574. {
  1575. streamScale = new StreamScale(target, delayList, durationList, destList, originActive, destActive, curve, cg, actionList);
  1576. StreamScaleDic.Add(target, streamScale);
  1577. return streamScale;
  1578. }
  1579. }
  1580. public static TweenSr CreateTweenSr(Transform target, float originAlpha, float destinationAlpha, float duration, bool originActive, bool destActive, Curve curve, bool cg = false, bool group = false)
  1581. {
  1582. TweenSr tweenSr;
  1583. SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
  1584. Color origin = sr.color;
  1585. Color destination = sr.color;
  1586. origin.a = originAlpha;
  1587. destination.a = destinationAlpha;
  1588. if (TweenSrDic.ContainsKey(target))
  1589. {
  1590. tweenSr = TweenSrDic[target];
  1591. TweenSrDic[target] = new TweenSr(sr, origin, destination, duration, originActive, destActive, curve, cg, group);
  1592. return tweenSr;
  1593. }
  1594. else
  1595. {
  1596. tweenSr = new TweenSr(sr, origin, destination, duration, originActive, destActive, curve, cg, group);
  1597. TweenSrDic.Add(target, tweenSr);
  1598. return tweenSr;
  1599. }
  1600. }
  1601. public static TweenSr CreateTweenSr(Transform target, float destinationAlpha, float duration, bool originActive, bool destActive, Curve curve, bool cg = false, bool group = false)
  1602. {
  1603. TweenSr tweenSr;
  1604. SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
  1605. Color destination = sr.color;
  1606. destination.a = destinationAlpha;
  1607. if (TweenSrDic.ContainsKey(target))
  1608. {
  1609. tweenSr = TweenSrDic[target];
  1610. TweenSrDic[target] = new TweenSr(sr, sr.color, destination, duration, originActive, destActive, curve, cg, group);
  1611. return tweenSr;
  1612. }
  1613. else
  1614. {
  1615. tweenSr = new TweenSr(sr, sr.color, destination, duration, originActive, destActive, curve, cg, group);
  1616. TweenSrDic.Add(target, tweenSr);
  1617. return tweenSr;
  1618. }
  1619. }
  1620. public static TweenSr CreateTweenSr(Transform target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false, bool group = false)
  1621. {
  1622. TweenSr tweenSr;
  1623. SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
  1624. if (TweenSrDic.ContainsKey(target))
  1625. {
  1626. tweenSr = TweenSrDic[target];
  1627. TweenSrDic[target] = new TweenSr(sr, origin, destination, duration, originActive, destActive, curve, cg, group);
  1628. return tweenSr;
  1629. }
  1630. else
  1631. {
  1632. tweenSr = new TweenSr(sr, origin, destination, duration, originActive, destActive, curve, cg, group);
  1633. TweenSrDic.Add(target, tweenSr);
  1634. return tweenSr;
  1635. }
  1636. }
  1637. public static TweenSr CreateTweenSr(Transform target, Color destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false, bool group = false)
  1638. {
  1639. TweenSr tweenSr;
  1640. SpriteRenderer sr = target.GetComponent<SpriteRenderer>();
  1641. if (TweenSrDic.ContainsKey(target))
  1642. {
  1643. tweenSr = TweenSrDic[target];
  1644. TweenSrDic[target] = new TweenSr(sr, sr.color, destination, duration, originActive, destActive, curve, cg, group);
  1645. return tweenSr;
  1646. }
  1647. else
  1648. {
  1649. tweenSr = new TweenSr(sr, sr.color, destination, duration, originActive, destActive, curve, cg, group);
  1650. TweenSrDic.Add(target, tweenSr);
  1651. return tweenSr;
  1652. }
  1653. }
  1654. public static TweenCG CreateTweenCG(Transform target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve)
  1655. {
  1656. TweenCG tweenCg;
  1657. CanvasGroup cg = target.GetComponent<CanvasGroup>();
  1658. if (TweenCgDic.ContainsKey(target))
  1659. {
  1660. tweenCg = TweenCgDic[target];
  1661. TweenCgDic[target] = new TweenCG(cg, origin, destination, duration, originActive, destActive, curve);
  1662. return tweenCg;
  1663. }
  1664. else
  1665. {
  1666. tweenCg = new TweenCG(cg, origin, destination, duration, originActive, destActive, curve);
  1667. TweenCgDic.Add(target, tweenCg);
  1668. return tweenCg;
  1669. }
  1670. }
  1671. public static TweenCG CreateTweenCG(Transform target, float destination, float duration, bool originActive, bool destActive, Curve curve)
  1672. {
  1673. TweenCG tweenCg;
  1674. CanvasGroup cg = target.GetComponent<CanvasGroup>();
  1675. if (TweenCgDic.ContainsKey(target))
  1676. {
  1677. tweenCg = TweenCgDic[target];
  1678. TweenCgDic[target] = new TweenCG(cg, cg.alpha, destination, duration, originActive, destActive, curve);
  1679. return tweenCg;
  1680. }
  1681. else
  1682. {
  1683. tweenCg = new TweenCG(cg, cg.alpha, destination, duration, originActive, destActive, curve);
  1684. TweenCgDic.Add(target, tweenCg);
  1685. return tweenCg;
  1686. }
  1687. }
  1688. public static TweenGra CreateTweenGra(Transform target, float originAlpha, float destinationAlpha, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  1689. {
  1690. Graphic graphic = target.GetComponent<Graphic>();
  1691. TweenGra tweenGra;
  1692. Color origin = graphic.color;
  1693. Color destination = graphic.color;
  1694. origin.a = originAlpha;
  1695. destination.a = destinationAlpha;
  1696. if (TweenGraDic.ContainsKey(target))
  1697. {
  1698. tweenGra = TweenGraDic[target];
  1699. TweenGraDic[target] = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve, cg);
  1700. return tweenGra;
  1701. }
  1702. else
  1703. {
  1704. tweenGra = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve, cg);
  1705. TweenGraDic.Add(target, tweenGra);
  1706. return tweenGra;
  1707. }
  1708. }
  1709. public static TweenGra CreateTweenGra(Transform target, float destinationAlpha, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  1710. {
  1711. Graphic graphic = target.GetComponent<Graphic>();
  1712. TweenGra tweenGra;
  1713. Color destination = graphic.color;
  1714. destination.a = destinationAlpha;
  1715. if (TweenGraDic.ContainsKey(target))
  1716. {
  1717. tweenGra = TweenGraDic[target];
  1718. TweenGraDic[target] = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve, cg);
  1719. return tweenGra;
  1720. }
  1721. else
  1722. {
  1723. tweenGra = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve, cg);
  1724. TweenGraDic.Add(target, tweenGra);
  1725. return tweenGra;
  1726. }
  1727. }
  1728. public static TweenGra CreateTweenGra(Transform target, Color origin, Color destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  1729. {
  1730. Graphic graphic = target.GetComponent<Graphic>();
  1731. TweenGra tweenGra;
  1732. if (TweenGraDic.ContainsKey(target))
  1733. {
  1734. tweenGra = TweenGraDic[target];
  1735. TweenGraDic[target] = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve, cg);
  1736. return tweenGra;
  1737. }
  1738. else
  1739. {
  1740. tweenGra = new TweenGra(graphic, origin, destination, duration, originActive, destActive, curve, cg);
  1741. TweenGraDic.Add(target, tweenGra);
  1742. return tweenGra;
  1743. }
  1744. }
  1745. public static TweenGra CreateTweenGra(Transform target, Color destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  1746. {
  1747. Graphic graphic = target.GetComponent<Graphic>();
  1748. TweenGra tweenGra;
  1749. if (TweenGraDic.ContainsKey(target))
  1750. {
  1751. tweenGra = TweenGraDic[target];
  1752. TweenGraDic[target] = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve, cg);
  1753. return tweenGra;
  1754. }
  1755. else
  1756. {
  1757. tweenGra = new TweenGra(graphic, graphic.color, destination, duration, originActive, destActive, curve, cg);
  1758. TweenGraDic.Add(target, tweenGra);
  1759. return tweenGra;
  1760. }
  1761. }
  1762. public static TweenVec CreateTweenVec2D(Transform target, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
  1763. {
  1764. TweenVec tweenVec2D;
  1765. if (local)
  1766. {
  1767. origin.z = target.localPosition.z;
  1768. destination.z = target.localPosition.z;
  1769. }
  1770. else
  1771. {
  1772. origin.z = target.position.z;
  1773. destination.z = target.position.z;
  1774. }
  1775. if (TweenVecDic.ContainsKey(target))
  1776. {
  1777. tweenVec2D = TweenVecDic[target];
  1778. TweenVecDic[target] = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
  1779. return tweenVec2D;
  1780. }
  1781. else
  1782. {
  1783. tweenVec2D = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
  1784. TweenVecDic.Add(target, tweenVec2D);
  1785. return tweenVec2D;
  1786. }
  1787. }
  1788. public static TweenVec CreateTweenVec2D(Transform target, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
  1789. {
  1790. TweenVec tweenVec2D;
  1791. Vector3 origin;
  1792. if (local)
  1793. {
  1794. origin = target.localPosition;
  1795. destination.z = target.localPosition.z;
  1796. }
  1797. else
  1798. {
  1799. origin = target.position;
  1800. destination.z = target.position.z;
  1801. }
  1802. if (TweenVecDic.ContainsKey(target))
  1803. {
  1804. tweenVec2D = TweenVecDic[target];
  1805. TweenVecDic[target] = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
  1806. return tweenVec2D;
  1807. }
  1808. else
  1809. {
  1810. tweenVec2D = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
  1811. TweenVecDic.Add(target, tweenVec2D);
  1812. return tweenVec2D;
  1813. }
  1814. }
  1815. public static TweenVec CreateTweenVecOffset2D(Transform target, Vector3 offset, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
  1816. {
  1817. TweenVec tweenVec2D;
  1818. Vector3 origin;
  1819. Vector3 destination;
  1820. if (local)
  1821. {
  1822. origin = target.localPosition;
  1823. destination = target.localPosition + offset;
  1824. destination.z = target.localPosition.z;
  1825. }
  1826. else
  1827. {
  1828. origin = target.position;
  1829. destination = target.position + offset;
  1830. destination.z = target.position.z;
  1831. }
  1832. if (TweenVecDic.ContainsKey(target))
  1833. {
  1834. tweenVec2D = TweenVecDic[target];
  1835. TweenVecDic[target] = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
  1836. return tweenVec2D;
  1837. }
  1838. else
  1839. {
  1840. tweenVec2D = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
  1841. TweenVecDic.Add(target, tweenVec2D);
  1842. return tweenVec2D;
  1843. }
  1844. }
  1845. public static TweenVec CreateTweenVec3D(Transform target, Vector3 origin, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
  1846. {
  1847. TweenVec tweenVec3D;
  1848. if (TweenVecDic.ContainsKey(target))
  1849. {
  1850. tweenVec3D = TweenVecDic[target];
  1851. TweenVecDic[target] = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
  1852. return tweenVec3D;
  1853. }
  1854. else
  1855. {
  1856. tweenVec3D = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
  1857. TweenVecDic.Add(target, tweenVec3D);
  1858. return tweenVec3D;
  1859. }
  1860. }
  1861. public static TweenVec CreateTweenVec3D(Transform target, Vector3 destination, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
  1862. {
  1863. TweenVec tweenVec3D;
  1864. Vector3 origin;
  1865. if (local)
  1866. {
  1867. origin = target.localPosition;
  1868. }
  1869. else
  1870. {
  1871. origin = target.position;
  1872. }
  1873. if (TweenVecDic.ContainsKey(target))
  1874. {
  1875. tweenVec3D = TweenVecDic[target];
  1876. TweenVecDic[target] = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
  1877. return tweenVec3D;
  1878. }
  1879. else
  1880. {
  1881. tweenVec3D = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
  1882. TweenVecDic.Add(target, tweenVec3D);
  1883. return tweenVec3D;
  1884. }
  1885. }
  1886. public static TweenVec CreateTweenVecOffset3D(Transform target, Vector3 offset, float duration, bool local, bool originActive, bool destActive, Curve curve, bool cg = false)
  1887. {
  1888. TweenVec tweenVec3D;
  1889. Vector3 origin;
  1890. Vector3 destination;
  1891. if (local)
  1892. {
  1893. origin = target.localPosition;
  1894. destination = target.localPosition + offset;
  1895. }
  1896. else
  1897. {
  1898. origin = target.position;
  1899. destination = target.position + offset;
  1900. }
  1901. if (TweenVecDic.ContainsKey(target))
  1902. {
  1903. tweenVec3D = TweenVecDic[target];
  1904. TweenVecDic[target] = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
  1905. return tweenVec3D;
  1906. }
  1907. else
  1908. {
  1909. tweenVec3D = new TweenVec(target, origin, destination, duration, local, originActive, destActive, curve, cg);
  1910. TweenVecDic.Add(target, tweenVec3D);
  1911. return tweenVec3D;
  1912. }
  1913. }
  1914. public static TweenFont CreateTweenFont(Transform target, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  1915. {
  1916. Text text = target.GetComponent<Text>();
  1917. TweenFont tweenFont;
  1918. if (TweenRectDic.ContainsKey(target))
  1919. {
  1920. tweenFont = TweenFontDic[target];
  1921. TweenFontDic[target] = new TweenFont(text, origin, destination, duration, originActive, destActive, curve, cg);
  1922. return tweenFont;
  1923. }
  1924. else
  1925. {
  1926. tweenFont = new TweenFont(text, origin, destination, duration, originActive, destActive, curve, cg);
  1927. TweenFontDic.Add(target, tweenFont);
  1928. return tweenFont;
  1929. }
  1930. }
  1931. public static TweenFont CreateTweenFont(Transform target, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  1932. {
  1933. Text text = target.GetComponent<Text>();
  1934. TweenFont tweenFont;
  1935. if (TweenRectDic.ContainsKey(target))
  1936. {
  1937. tweenFont = TweenFontDic[target];
  1938. TweenFontDic[target] = new TweenFont(text, text.fontSize, destination, duration, originActive, destActive, curve, cg);
  1939. return tweenFont;
  1940. }
  1941. else
  1942. {
  1943. tweenFont = new TweenFont(text, text.fontSize, destination, duration, originActive, destActive, curve, cg);
  1944. TweenFontDic.Add(target, tweenFont);
  1945. return tweenFont;
  1946. }
  1947. }
  1948. public static TweenRect CreateTweenRect(Transform target, Vector2 origin, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  1949. {
  1950. TweenRect tweenRect;
  1951. RectTransform rectTra = target.GetComponent<RectTransform>();
  1952. if (TweenRectDic.ContainsKey(target))
  1953. {
  1954. tweenRect = TweenRectDic[target];
  1955. TweenRectDic[target] = new TweenRect(rectTra, origin, destination, duration, originActive, destActive, curve, cg);
  1956. return tweenRect;
  1957. }
  1958. else
  1959. {
  1960. tweenRect = new TweenRect(rectTra, origin, destination, duration, originActive, destActive, curve, cg);
  1961. TweenRectDic.Add(target, tweenRect);
  1962. return tweenRect;
  1963. }
  1964. }
  1965. public static TweenRect CreateTweenRect(Transform target, Vector2 destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  1966. {
  1967. TweenRect tweenRect;
  1968. RectTransform rectTra = target.GetComponent<RectTransform>();
  1969. if (TweenRectDic.ContainsKey(target))
  1970. {
  1971. tweenRect = TweenRectDic[target];
  1972. TweenRectDic[target] = new TweenRect(rectTra, rectTra.rect.size, destination, duration, originActive, destActive, curve, cg);
  1973. return tweenRect;
  1974. }
  1975. else
  1976. {
  1977. tweenRect = new TweenRect(rectTra, rectTra.rect.size, destination, duration, originActive, destActive, curve, cg);
  1978. TweenRectDic.Add(target, tweenRect);
  1979. return tweenRect;
  1980. }
  1981. }
  1982. public static TweenScale CreateTweenScale(Transform target, Vector3 origin, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  1983. {
  1984. TweenScale tweenScale;
  1985. if (TweenScaleDic.ContainsKey(target))
  1986. {
  1987. tweenScale = TweenScaleDic[target];
  1988. TweenScaleDic[target] = new TweenScale(target, origin, destination, duration, originActive, destActive, curve, cg);
  1989. return tweenScale;
  1990. }
  1991. else
  1992. {
  1993. tweenScale = new TweenScale(target, origin, destination, duration, originActive, destActive, curve, cg);
  1994. TweenScaleDic.Add(target, tweenScale);
  1995. return tweenScale;
  1996. }
  1997. }
  1998. public static TweenScale CreateTweenScale(Transform target, Vector3 destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  1999. {
  2000. TweenScale tweenScale;
  2001. if (TweenScaleDic.ContainsKey(target))
  2002. {
  2003. tweenScale = TweenScaleDic[target];
  2004. TweenScaleDic[target] = new TweenScale(target, target.localScale, destination, duration, originActive, destActive, curve, cg);
  2005. return tweenScale;
  2006. }
  2007. else
  2008. {
  2009. tweenScale = new TweenScale(target, target.localScale, destination, duration, originActive, destActive, curve, cg);
  2010. TweenScaleDic.Add(target, tweenScale);
  2011. return tweenScale;
  2012. }
  2013. }
  2014. public static TweenAudio CreateTweenAudio(Transform target, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  2015. {
  2016. TweenAudio tweenAudio;
  2017. AudioSource audio = target.GetComponent<AudioSource>();
  2018. if (TweenAudioDic.ContainsKey(audio))
  2019. {
  2020. tweenAudio = TweenAudioDic[audio];
  2021. TweenAudioDic[audio] = new TweenAudio(audio, origin, destination, duration, originActive, destActive, curve, cg);
  2022. return tweenAudio;
  2023. }
  2024. else
  2025. {
  2026. tweenAudio = new TweenAudio(audio, origin, destination, duration, originActive, destActive, curve, cg);
  2027. TweenAudioDic.Add(audio, tweenAudio);
  2028. return tweenAudio;
  2029. }
  2030. }
  2031. public static TweenAudio CreateTweenAudio(Transform target, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  2032. {
  2033. TweenAudio tweenAudio;
  2034. AudioSource audio = target.GetComponent<AudioSource>();
  2035. if (TweenAudioDic.ContainsKey(audio))
  2036. {
  2037. tweenAudio = TweenAudioDic[audio];
  2038. TweenAudioDic[audio] = new TweenAudio(audio, audio.volume, destination, duration, originActive, destActive, curve, cg);
  2039. return tweenAudio;
  2040. }
  2041. else
  2042. {
  2043. tweenAudio = new TweenAudio(audio, audio.volume, destination, duration, originActive, destActive, curve, cg);
  2044. TweenAudioDic.Add(audio, tweenAudio);
  2045. return tweenAudio;
  2046. }
  2047. }
  2048. public static TweenAudio CreateTweenAudio(AudioSource audioSource, float origin, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  2049. {
  2050. TweenAudio tweenAudio;
  2051. if (TweenAudioDic.ContainsKey(audioSource))
  2052. {
  2053. tweenAudio = TweenAudioDic[audioSource];
  2054. TweenAudioDic[audioSource] = new TweenAudio(audioSource, origin, destination, duration, originActive, destActive, curve, cg);
  2055. return tweenAudio;
  2056. }
  2057. else
  2058. {
  2059. tweenAudio = new TweenAudio(audioSource, origin, destination, duration, originActive, destActive, curve, cg);
  2060. TweenAudioDic.Add(audioSource, tweenAudio);
  2061. return tweenAudio;
  2062. }
  2063. }
  2064. public static TweenAudio CreateTweenAudio(AudioSource audioSource, float destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  2065. {
  2066. TweenAudio tweenAudio;
  2067. if (TweenAudioDic.ContainsKey(audioSource))
  2068. {
  2069. tweenAudio = TweenAudioDic[audioSource];
  2070. TweenAudioDic[audioSource] = new TweenAudio(audioSource, audioSource.volume, destination, duration, originActive, destActive, curve, cg);
  2071. return tweenAudio;
  2072. }
  2073. else
  2074. {
  2075. tweenAudio = new TweenAudio(audioSource, audioSource.volume, destination, duration, originActive, destActive, curve, cg);
  2076. TweenAudioDic.Add(audioSource, tweenAudio);
  2077. return tweenAudio;
  2078. }
  2079. }
  2080. public static TweenNumber CreateTweenNumber(Transform target, int origin, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  2081. {
  2082. Text text = target.GetComponent<Text>();
  2083. TweenNumber tweenNumber;
  2084. if (TweenNumberDic.ContainsKey(target))
  2085. {
  2086. tweenNumber = TweenNumberDic[target];
  2087. TweenNumberDic[target] = new TweenNumber(text, origin, destination, duration, originActive, destActive, curve, cg);
  2088. return tweenNumber;
  2089. }
  2090. else
  2091. {
  2092. tweenNumber = new TweenNumber(text, origin, destination, duration, originActive, destActive, curve, cg);
  2093. TweenNumberDic.Add(target, tweenNumber);
  2094. return tweenNumber;
  2095. }
  2096. }
  2097. public static TweenNumber CreateTweenNumber(Transform target, int destination, float duration, bool originActive, bool destActive, Curve curve, bool cg = false)
  2098. {
  2099. Text text = target.GetComponent<Text>();
  2100. TweenNumber tweenNumber;
  2101. if (TweenNumberDic.ContainsKey(target))
  2102. {
  2103. tweenNumber = TweenNumberDic[target];
  2104. TweenNumberDic[target] = new TweenNumber(text, int.Parse(text.text), destination, duration, originActive, destActive, curve, cg);
  2105. return tweenNumber;
  2106. }
  2107. else
  2108. {
  2109. tweenNumber = new TweenNumber(text, int.Parse(text.text), destination, duration, originActive, destActive, curve, cg);
  2110. TweenNumberDic.Add(target, tweenNumber);
  2111. return tweenNumber;
  2112. }
  2113. }
  2114. #endregion
  2115. }