MegaMorphAnim.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457
  1. 
  2. using UnityEngine;
  3. [AddComponentMenu("Modifiers/Morph Animate")]
  4. [ExecuteInEditMode]
  5. public class MegaMorphAnim : MonoBehaviour
  6. {
  7. public string SrcChannel = "None";
  8. public float Percent = 0.0f;
  9. MegaMorphChan channel;
  10. public string SrcChannel1 = "None";
  11. public float Percent1 = 0.0f;
  12. MegaMorphChan channel1;
  13. public string SrcChannel2 = "None";
  14. public float Percent2 = 0.0f;
  15. MegaMorphChan channel2;
  16. public string SrcChannel3 = "None";
  17. public float Percent3 = 0.0f;
  18. MegaMorphChan channel3;
  19. public string SrcChannel4 = "None";
  20. public float Percent4 = 0.0f;
  21. MegaMorphChan channel4;
  22. public string SrcChannel5 = "None";
  23. public float Percent5 = 0.0f;
  24. MegaMorphChan channel5;
  25. public string SrcChannel6 = "None";
  26. public float Percent6 = 0.0f;
  27. MegaMorphChan channel6;
  28. public string SrcChannel7 = "None";
  29. public float Percent7 = 0.0f;
  30. MegaMorphChan channel7;
  31. public string SrcChannel8 = "None";
  32. public float Percent8 = 0.0f;
  33. MegaMorphChan channel8;
  34. public string SrcChannel9 = "None";
  35. public float Percent9 = 0.0f;
  36. MegaMorphChan channel9;
  37. public string SrcChannel10 = "None";
  38. public float Percent10 = 0.0f;
  39. MegaMorphChan channel10;
  40. public string SrcChannel11 = "None";
  41. public float Percent11 = 0.0f;
  42. MegaMorphChan channel11;
  43. public string SrcChannel12 = "None";
  44. public float Percent12 = 0.0f;
  45. MegaMorphChan channel12;
  46. public string SrcChannel13 = "None";
  47. public float Percent13 = 0.0f;
  48. MegaMorphChan channel13;
  49. public string SrcChannel14 = "None";
  50. public float Percent14 = 0.0f;
  51. MegaMorphChan channel14;
  52. public string SrcChannel15 = "None";
  53. public float Percent15 = 0.0f;
  54. MegaMorphChan channel15;
  55. public string SrcChannel16 = "None";
  56. public float Percent16 = 0.0f;
  57. MegaMorphChan channel16;
  58. public string SrcChannel17 = "None";
  59. public float Percent17 = 0.0f;
  60. MegaMorphChan channel17;
  61. public string SrcChannel18 = "None";
  62. public float Percent18 = 0.0f;
  63. MegaMorphChan channel18;
  64. public string SrcChannel19 = "None";
  65. public float Percent19 = 0.0f;
  66. MegaMorphChan channel19;
  67. public string SrcChannel20 = "None";
  68. public float Percent20 = 0.0f;
  69. MegaMorphChan channel20;
  70. public string SrcChannel21 = "None";
  71. public float Percent21 = 0.0f;
  72. MegaMorphChan channel21;
  73. public string SrcChannel22 = "None";
  74. public float Percent22 = 0.0f;
  75. MegaMorphChan channel22;
  76. public string SrcChannel23 = "None";
  77. public float Percent23 = 0.0f;
  78. MegaMorphChan channel23;
  79. public string SrcChannel24 = "None";
  80. public float Percent24 = 0.0f;
  81. MegaMorphChan channel24;
  82. public string SrcChannel25 = "None";
  83. public float Percent25 = 0.0f;
  84. MegaMorphChan channel25;
  85. public string SrcChannel26 = "None";
  86. public float Percent26 = 0.0f;
  87. MegaMorphChan channel26;
  88. public string SrcChannel27 = "None";
  89. public float Percent27 = 0.0f;
  90. MegaMorphChan channel27;
  91. public string SrcChannel28 = "None";
  92. public float Percent28 = 0.0f;
  93. MegaMorphChan channel28;
  94. public string SrcChannel29 = "None";
  95. public float Percent29 = 0.0f;
  96. MegaMorphChan channel29;
  97. public string SrcChannel30 = "None";
  98. public float Percent30 = 0.0f;
  99. MegaMorphChan channel30;
  100. public string SrcChannel31 = "None";
  101. public float Percent31 = 0.0f;
  102. MegaMorphChan channel31;
  103. public string SrcChannel32 = "None";
  104. public float Percent32 = 0.0f;
  105. MegaMorphChan channel32;
  106. public string SrcChannel33 = "None";
  107. public float Percent33 = 0.0f;
  108. MegaMorphChan channel33;
  109. public string SrcChannel34 = "None";
  110. public float Percent34 = 0.0f;
  111. MegaMorphChan channel34;
  112. public string SrcChannel35 = "None";
  113. public float Percent35 = 0.0f;
  114. MegaMorphChan channel35;
  115. public string SrcChannel36 = "None";
  116. public float Percent36 = 0.0f;
  117. MegaMorphChan channel36;
  118. public string SrcChannel37 = "None";
  119. public float Percent37 = 0.0f;
  120. MegaMorphChan channel37;
  121. public string SrcChannel38 = "None";
  122. public float Percent38 = 0.0f;
  123. MegaMorphChan channel38;
  124. public string SrcChannel39 = "None";
  125. public float Percent39 = 0.0f;
  126. MegaMorphChan channel39;
  127. public string SrcChannel40 = "None";
  128. public float Percent40 = 0.0f;
  129. MegaMorphChan channel40;
  130. public string SrcChannel41 = "None";
  131. public float Percent41 = 0.0f;
  132. MegaMorphChan channel41;
  133. public string SrcChannel42 = "None";
  134. public float Percent42 = 0.0f;
  135. MegaMorphChan channel42;
  136. public string SrcChannel43 = "None";
  137. public float Percent43 = 0.0f;
  138. MegaMorphChan channel43;
  139. public string SrcChannel44 = "None";
  140. public float Percent44 = 0.0f;
  141. MegaMorphChan channel44;
  142. public string SrcChannel45 = "None";
  143. public float Percent45 = 0.0f;
  144. MegaMorphChan channel45;
  145. public string SrcChannel46 = "None";
  146. public float Percent46 = 0.0f;
  147. MegaMorphChan channel46;
  148. public string SrcChannel47 = "None";
  149. public float Percent47 = 0.0f;
  150. MegaMorphChan channel47;
  151. public string SrcChannel48 = "None";
  152. public float Percent48 = 0.0f;
  153. MegaMorphChan channel48;
  154. public string SrcChannel49 = "None";
  155. public float Percent49 = 0.0f;
  156. MegaMorphChan channel49;
  157. public string SrcChannel50 = "None";
  158. public float Percent50 = 0.0f;
  159. MegaMorphChan channel50;
  160. public void GetMinMax(MegaMorph mr, int index, ref float min, ref float max)
  161. {
  162. MegaMorphChan chan = null;
  163. switch ( index )
  164. {
  165. case 0: chan = channel; break;
  166. case 1: chan = channel1; break;
  167. case 2: chan = channel2; break;
  168. case 3: chan = channel3; break;
  169. case 4: chan = channel4; break;
  170. case 5: chan = channel5; break;
  171. case 6: chan = channel6; break;
  172. case 7: chan = channel7; break;
  173. case 8: chan = channel8; break;
  174. case 9: chan = channel9; break;
  175. case 10: chan = channel10; break;
  176. case 11: chan = channel11; break;
  177. case 12: chan = channel12; break;
  178. case 13: chan = channel13; break;
  179. case 14: chan = channel14; break;
  180. case 15: chan = channel15; break;
  181. case 16: chan = channel16; break;
  182. case 17: chan = channel17; break;
  183. case 18: chan = channel18; break;
  184. case 19: chan = channel19; break;
  185. case 20: chan = channel20; break;
  186. case 21: chan = channel21; break;
  187. case 22: chan = channel22; break;
  188. case 23: chan = channel23; break;
  189. case 24: chan = channel24; break;
  190. case 25: chan = channel25; break;
  191. case 26: chan = channel26; break;
  192. case 27: chan = channel27; break;
  193. case 28: chan = channel28; break;
  194. case 29: chan = channel29; break;
  195. case 30: chan = channel30; break;
  196. case 31: chan = channel31; break;
  197. case 32: chan = channel32; break;
  198. case 33: chan = channel33; break;
  199. case 34: chan = channel34; break;
  200. case 35: chan = channel35; break;
  201. case 36: chan = channel36; break;
  202. case 37: chan = channel37; break;
  203. case 38: chan = channel38; break;
  204. case 39: chan = channel39; break;
  205. case 40: chan = channel40; break;
  206. case 41: chan = channel41; break;
  207. case 42: chan = channel42; break;
  208. case 43: chan = channel43; break;
  209. case 44: chan = channel44; break;
  210. case 45: chan = channel45; break;
  211. case 46: chan = channel46; break;
  212. case 47: chan = channel47; break;
  213. case 48: chan = channel48; break;
  214. case 49: chan = channel49; break;
  215. case 50: chan = channel50; break;
  216. }
  217. if ( chan != null )
  218. {
  219. min = chan.mSpinmin;
  220. max = chan.mSpinmax;
  221. }
  222. else
  223. {
  224. min = 0.0f;
  225. max = 100.0f;
  226. }
  227. }
  228. public void SetChannel(MegaMorph mr, int index)
  229. {
  230. switch ( index )
  231. {
  232. case 0: channel = mr.GetChannel(SrcChannel); break;
  233. case 1: channel1 = mr.GetChannel(SrcChannel1); break;
  234. case 2: channel2 = mr.GetChannel(SrcChannel2); break;
  235. case 3: channel3 = mr.GetChannel(SrcChannel3); break;
  236. case 4: channel4 = mr.GetChannel(SrcChannel4); break;
  237. case 5: channel5 = mr.GetChannel(SrcChannel5); break;
  238. case 6: channel6 = mr.GetChannel(SrcChannel6); break;
  239. case 7: channel7 = mr.GetChannel(SrcChannel7); break;
  240. case 8: channel8 = mr.GetChannel(SrcChannel8); break;
  241. case 9: channel9 = mr.GetChannel(SrcChannel9); break;
  242. case 10: channel10 = mr.GetChannel(SrcChannel10); break;
  243. case 11: channel11 = mr.GetChannel(SrcChannel11); break;
  244. case 12: channel12 = mr.GetChannel(SrcChannel12); break;
  245. case 13: channel13 = mr.GetChannel(SrcChannel13); break;
  246. case 14: channel14 = mr.GetChannel(SrcChannel14); break;
  247. case 15: channel15 = mr.GetChannel(SrcChannel15); break;
  248. case 16: channel16 = mr.GetChannel(SrcChannel16); break;
  249. case 17: channel17 = mr.GetChannel(SrcChannel17); break;
  250. case 18: channel18 = mr.GetChannel(SrcChannel18); break;
  251. case 19: channel19 = mr.GetChannel(SrcChannel19); break;
  252. case 20: channel20 = mr.GetChannel(SrcChannel20); break;
  253. case 21: channel21 = mr.GetChannel(SrcChannel21); break;
  254. case 22: channel22 = mr.GetChannel(SrcChannel22); break;
  255. case 23: channel23 = mr.GetChannel(SrcChannel23); break;
  256. case 24: channel24 = mr.GetChannel(SrcChannel24); break;
  257. case 25: channel25 = mr.GetChannel(SrcChannel25); break;
  258. case 26: channel26 = mr.GetChannel(SrcChannel26); break;
  259. case 27: channel27 = mr.GetChannel(SrcChannel27); break;
  260. case 28: channel28 = mr.GetChannel(SrcChannel28); break;
  261. case 29: channel29 = mr.GetChannel(SrcChannel29); break;
  262. case 30: channel30 = mr.GetChannel(SrcChannel30); break;
  263. case 31: channel31 = mr.GetChannel(SrcChannel31); break;
  264. case 32: channel32 = mr.GetChannel(SrcChannel32); break;
  265. case 33: channel33 = mr.GetChannel(SrcChannel33); break;
  266. case 34: channel34 = mr.GetChannel(SrcChannel34); break;
  267. case 35: channel35 = mr.GetChannel(SrcChannel35); break;
  268. case 36: channel36 = mr.GetChannel(SrcChannel36); break;
  269. case 37: channel37 = mr.GetChannel(SrcChannel37); break;
  270. case 38: channel38 = mr.GetChannel(SrcChannel38); break;
  271. case 39: channel39 = mr.GetChannel(SrcChannel39); break;
  272. case 40: channel40 = mr.GetChannel(SrcChannel40); break;
  273. case 41: channel41 = mr.GetChannel(SrcChannel41); break;
  274. case 42: channel42 = mr.GetChannel(SrcChannel42); break;
  275. case 43: channel43 = mr.GetChannel(SrcChannel43); break;
  276. case 44: channel44 = mr.GetChannel(SrcChannel44); break;
  277. case 45: channel45 = mr.GetChannel(SrcChannel45); break;
  278. case 46: channel46 = mr.GetChannel(SrcChannel46); break;
  279. case 47: channel47 = mr.GetChannel(SrcChannel47); break;
  280. case 48: channel48 = mr.GetChannel(SrcChannel48); break;
  281. case 49: channel49 = mr.GetChannel(SrcChannel49); break;
  282. case 50: channel50 = mr.GetChannel(SrcChannel50); break;
  283. }
  284. }
  285. void Start()
  286. {
  287. MegaMorph mr = GetComponent<MegaMorph>();
  288. if ( mr != null )
  289. {
  290. channel = mr.GetChannel(SrcChannel);
  291. channel1 = mr.GetChannel(SrcChannel1);
  292. channel2 = mr.GetChannel(SrcChannel2);
  293. channel3 = mr.GetChannel(SrcChannel3);
  294. channel4 = mr.GetChannel(SrcChannel4);
  295. channel5 = mr.GetChannel(SrcChannel5);
  296. channel6 = mr.GetChannel(SrcChannel6);
  297. channel7 = mr.GetChannel(SrcChannel7);
  298. channel8 = mr.GetChannel(SrcChannel8);
  299. channel9 = mr.GetChannel(SrcChannel9);
  300. channel10 = mr.GetChannel(SrcChannel10);
  301. channel11 = mr.GetChannel(SrcChannel11);
  302. channel12 = mr.GetChannel(SrcChannel12);
  303. channel13 = mr.GetChannel(SrcChannel13);
  304. channel14 = mr.GetChannel(SrcChannel14);
  305. channel15 = mr.GetChannel(SrcChannel15);
  306. channel16 = mr.GetChannel(SrcChannel16);
  307. channel17 = mr.GetChannel(SrcChannel17);
  308. channel18 = mr.GetChannel(SrcChannel18);
  309. channel19 = mr.GetChannel(SrcChannel19);
  310. channel20 = mr.GetChannel(SrcChannel20);
  311. channel21 = mr.GetChannel(SrcChannel21);
  312. channel22 = mr.GetChannel(SrcChannel22);
  313. channel23 = mr.GetChannel(SrcChannel23);
  314. channel24 = mr.GetChannel(SrcChannel24);
  315. channel25 = mr.GetChannel(SrcChannel25);
  316. channel26 = mr.GetChannel(SrcChannel26);
  317. channel27 = mr.GetChannel(SrcChannel27);
  318. channel28 = mr.GetChannel(SrcChannel28);
  319. channel29 = mr.GetChannel(SrcChannel29);
  320. channel30 = mr.GetChannel(SrcChannel30);
  321. channel31 = mr.GetChannel(SrcChannel31);
  322. channel32 = mr.GetChannel(SrcChannel32);
  323. channel33 = mr.GetChannel(SrcChannel33);
  324. channel34 = mr.GetChannel(SrcChannel34);
  325. channel35 = mr.GetChannel(SrcChannel35);
  326. channel36 = mr.GetChannel(SrcChannel36);
  327. channel37 = mr.GetChannel(SrcChannel37);
  328. channel38 = mr.GetChannel(SrcChannel38);
  329. channel39 = mr.GetChannel(SrcChannel39);
  330. channel40 = mr.GetChannel(SrcChannel40);
  331. channel41 = mr.GetChannel(SrcChannel41);
  332. channel42 = mr.GetChannel(SrcChannel42);
  333. channel43 = mr.GetChannel(SrcChannel43);
  334. channel44 = mr.GetChannel(SrcChannel44);
  335. channel45 = mr.GetChannel(SrcChannel45);
  336. channel46 = mr.GetChannel(SrcChannel46);
  337. channel47 = mr.GetChannel(SrcChannel47);
  338. channel48 = mr.GetChannel(SrcChannel48);
  339. channel49 = mr.GetChannel(SrcChannel49);
  340. channel50 = mr.GetChannel(SrcChannel50);
  341. }
  342. }
  343. void Update()
  344. {
  345. if ( channel != null ) channel.Percent = Percent;
  346. if ( channel1 != null ) channel1.Percent = Percent1;
  347. if ( channel2 != null ) channel2.Percent = Percent2;
  348. if ( channel3 != null ) channel3.Percent = Percent3;
  349. if ( channel4 != null ) channel4.Percent = Percent4;
  350. if ( channel5 != null ) channel5.Percent = Percent5;
  351. if ( channel6 != null ) channel6.Percent = Percent6;
  352. if ( channel7 != null ) channel7.Percent = Percent7;
  353. if ( channel8 != null ) channel8.Percent = Percent8;
  354. if ( channel9 != null ) channel9.Percent = Percent9;
  355. if ( channel10 != null ) channel10.Percent = Percent10;
  356. if ( channel11 != null ) channel11.Percent = Percent11;
  357. if ( channel12 != null ) channel12.Percent = Percent12;
  358. if ( channel13 != null ) channel13.Percent = Percent13;
  359. if ( channel14 != null ) channel14.Percent = Percent14;
  360. if ( channel15 != null ) channel15.Percent = Percent15;
  361. if ( channel16 != null ) channel16.Percent = Percent16;
  362. if ( channel17 != null ) channel17.Percent = Percent17;
  363. if ( channel18 != null ) channel18.Percent = Percent18;
  364. if ( channel19 != null ) channel19.Percent = Percent19;
  365. if ( channel20 != null ) channel20.Percent = Percent20;
  366. if ( channel21 != null ) channel21.Percent = Percent21;
  367. if ( channel22 != null ) channel22.Percent = Percent22;
  368. if ( channel23 != null ) channel23.Percent = Percent23;
  369. if ( channel24 != null ) channel24.Percent = Percent24;
  370. if ( channel25 != null ) channel25.Percent = Percent25;
  371. if ( channel26 != null ) channel26.Percent = Percent26;
  372. if ( channel27 != null ) channel27.Percent = Percent27;
  373. if ( channel28 != null ) channel28.Percent = Percent28;
  374. if ( channel29 != null ) channel29.Percent = Percent29;
  375. if ( channel30 != null ) channel30.Percent = Percent30;
  376. if ( channel31 != null ) channel31.Percent = Percent31;
  377. if ( channel32 != null ) channel32.Percent = Percent32;
  378. if ( channel33 != null ) channel33.Percent = Percent33;
  379. if ( channel34 != null ) channel34.Percent = Percent34;
  380. if ( channel35 != null ) channel35.Percent = Percent35;
  381. if ( channel36 != null ) channel36.Percent = Percent36;
  382. if ( channel37 != null ) channel37.Percent = Percent37;
  383. if ( channel38 != null ) channel38.Percent = Percent38;
  384. if ( channel39 != null ) channel39.Percent = Percent39;
  385. if ( channel40 != null ) channel40.Percent = Percent40;
  386. if ( channel41 != null ) channel41.Percent = Percent41;
  387. if ( channel42 != null ) channel42.Percent = Percent42;
  388. if ( channel43 != null ) channel43.Percent = Percent43;
  389. if ( channel44 != null ) channel44.Percent = Percent44;
  390. if ( channel45 != null ) channel45.Percent = Percent45;
  391. if ( channel46 != null ) channel46.Percent = Percent46;
  392. if ( channel47 != null ) channel47.Percent = Percent47;
  393. if ( channel48 != null ) channel48.Percent = Percent48;
  394. if ( channel49 != null ) channel49.Percent = Percent49;
  395. if ( channel50 != null ) channel50.Percent = Percent50;
  396. }
  397. }