editor.form 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597
  1. form particleEditor
  2. {
  3. theme = res/editor.theme
  4. autoWidth = true
  5. autoHeight = true
  6. consumeInputEvents = false
  7. // Vsync checkbox
  8. checkBox vsync
  9. {
  10. style = iconNoBorder
  11. size = 100, 35
  12. position = 165, 5
  13. imageSize = 30, 30
  14. text = VSYNC
  15. checked = true
  16. }
  17. container leftSide
  18. {
  19. style = noBorder
  20. layout = LAYOUT_VERTICAL
  21. width = 160
  22. autoHeight = true
  23. container saveLoad
  24. {
  25. style = basic
  26. size = 160, 100
  27. layout = LAYOUT_VERTICAL
  28. button save
  29. {
  30. style = buttonStyle
  31. width = 140
  32. height = 40
  33. x = 100
  34. text = Save
  35. }
  36. button load : save
  37. {
  38. x = 200
  39. text = Load
  40. }
  41. }
  42. // Image settings
  43. container image
  44. {
  45. style = basic
  46. size = 160, 200
  47. layout = LAYOUT_VERTICAL
  48. label
  49. {
  50. style = title
  51. size = 150, 30
  52. text = Image
  53. }
  54. image sprite
  55. {
  56. style = image
  57. path = res/fire.png
  58. size = 140, 140
  59. }
  60. container imageSettings
  61. {
  62. style = noBorder
  63. size = 160, 230
  64. layout = LAYOUT_VERTICAL
  65. radioButton additive
  66. {
  67. style = radio
  68. text = Additive
  69. group = blendMode
  70. size = 140, 25
  71. imageSize = 25, 25
  72. selected = true
  73. }
  74. radioButton transparent : additive
  75. {
  76. text = Transparent
  77. selected = false
  78. }
  79. radioButton multiply : transparent
  80. {
  81. text = Multiply
  82. selected = false
  83. }
  84. radioButton opaque : transparent
  85. {
  86. text = Opaque
  87. selected = false
  88. }
  89. container
  90. {
  91. style = noBorder
  92. autoWidth = true
  93. height = 30
  94. label
  95. {
  96. style = noBorder
  97. text = Frame Count:
  98. size = 100, 25
  99. }
  100. textBox frameCount
  101. {
  102. style = textBox
  103. text = 1
  104. size = 45, 22
  105. position = 100, 0
  106. }
  107. }
  108. container
  109. {
  110. style = noBorder
  111. autoWidth = true
  112. height = 30
  113. label
  114. {
  115. style = noBorder
  116. text = Frame Width:
  117. size = 100, 25
  118. }
  119. textBox frameWidth
  120. {
  121. style = textBox
  122. text = 1
  123. size = 45, 22
  124. position = 100, 0
  125. }
  126. }
  127. container
  128. {
  129. style = noBorder
  130. autoWidth = true
  131. height = 30
  132. label
  133. {
  134. style = noBorder
  135. text = Frame Height:
  136. size = 100, 25
  137. }
  138. textBox frameHeight
  139. {
  140. style = textBox
  141. text = 1
  142. size = 45, 22
  143. position = 100, 0
  144. }
  145. }
  146. button updateFrames
  147. {
  148. style = buttonStyle
  149. width = 140
  150. height = 40
  151. text = Update
  152. }
  153. }
  154. }
  155. // Emission settings
  156. container emission
  157. {
  158. style = basic
  159. layout = LAYOUT_VERTICAL
  160. size = 160, 200
  161. // Burst emission
  162. button emit
  163. {
  164. style = buttonStyle
  165. position = 0, 50
  166. size = 140, 40
  167. text = Emit
  168. }
  169. // Emission rate
  170. slider emissionRate
  171. {
  172. style = noBorder
  173. size = 140, 50
  174. orientation = HORIZONTAL
  175. min = 1
  176. max = 500
  177. value = 100
  178. step = 1
  179. text = Emission Rate
  180. textAlignment = ALIGN_TOP_HCENTER
  181. valueTextVisible = true
  182. valueTextAlignment = ALIGN_BOTTOM_HCENTER
  183. valueTextPrecision = 2
  184. }
  185. slider burstSize : emissionRate
  186. {
  187. text = Burst Size
  188. value = 20
  189. max = 50
  190. step = 1
  191. }
  192. // Start / Stop Emitter
  193. checkBox started
  194. {
  195. style = iconNoBorder
  196. size = 140, 40
  197. imageSize = 35, 35
  198. text = Running
  199. checked = true
  200. }
  201. }
  202. button reset
  203. {
  204. style = buttonStyle
  205. width = 160
  206. height = 40
  207. text = Reset
  208. }
  209. }
  210. container particleProperties
  211. {
  212. style = particleProps
  213. alignment = ALIGN_TOP_RIGHT
  214. width = 210
  215. autoHeight = true
  216. layout = LAYOUT_VERTICAL
  217. scroll = SCROLL_VERTICAL
  218. scrollBarsAutoHide = false
  219. // Particle Size
  220. label titleSize
  221. {
  222. style = title
  223. size = 150, 30
  224. text = Particle Size
  225. }
  226. slider startMin
  227. {
  228. style = noBorder
  229. size = 150, 50
  230. orientation = HORIZONTAL
  231. min = 0
  232. max = 10
  233. value = 1
  234. step = 0.1
  235. text = Min Begin
  236. textAlignment = ALIGN_TOP_HCENTER
  237. valueTextVisible = true
  238. valueTextAlignment = ALIGN_BOTTOM_HCENTER
  239. valueTextPrecision = 2
  240. }
  241. slider startMax : startMin
  242. {
  243. text = Max Begin
  244. }
  245. slider endMin : startMin
  246. {
  247. text = Min End
  248. }
  249. slider endMax : startMin
  250. {
  251. text = Max End
  252. }
  253. // Energy
  254. label titleEnergy : titleSize
  255. {
  256. text = Energy
  257. }
  258. slider energyMin
  259. {
  260. style = noBorder
  261. size = 150, 50
  262. orientation = HORIZONTAL
  263. min = 0
  264. max = 5000
  265. step = 1
  266. text = Min
  267. textAlignment = ALIGN_TOP_HCENTER
  268. valueTextVisible = true
  269. valueTextAlignment = ALIGN_BOTTOM_HCENTER
  270. valueTextPrecision = 2
  271. }
  272. slider energyMax : energyMin
  273. {
  274. text = Max
  275. }
  276. // Start color
  277. label titleStartColor : titleSize
  278. {
  279. text = Start Color
  280. }
  281. slider startRed
  282. {
  283. style = noBorder
  284. size = 150, 50
  285. orientation = HORIZONTAL
  286. min = 0
  287. max = 1
  288. text = Red
  289. textAlignment = ALIGN_TOP_HCENTER
  290. valueTextVisible = true
  291. valueTextAlignment = ALIGN_BOTTOM_HCENTER
  292. valueTextPrecision = 2
  293. }
  294. slider startGreen : startRed
  295. {
  296. text = Green
  297. }
  298. slider startBlue : startRed
  299. {
  300. text = Blue
  301. }
  302. slider startAlpha : startRed
  303. {
  304. text = Alpha
  305. }
  306. // End color
  307. label titleEndColor : titleSize
  308. {
  309. text = End Color
  310. }
  311. slider endRed : startRed
  312. {
  313. }
  314. slider endGreen : startGreen
  315. {
  316. }
  317. slider endBlue : startBlue
  318. {
  319. }
  320. slider endAlpha : startAlpha
  321. {
  322. }
  323. // Position
  324. label titlePosition : titleSize
  325. {
  326. text = Position
  327. }
  328. slider posX : startRed
  329. {
  330. min = -2
  331. max = 2
  332. step = 0.1
  333. text = X
  334. }
  335. slider posY : posX
  336. {
  337. text = Y
  338. }
  339. slider posZ : posX
  340. {
  341. text = Z
  342. }
  343. // Position variance
  344. label titlePositionVar : titleSize
  345. {
  346. text = Position Var.
  347. }
  348. slider posVarX : startRed
  349. {
  350. min = 0
  351. max = 10
  352. text = X
  353. }
  354. slider posVarY : posVarX
  355. {
  356. text = Y
  357. }
  358. slider posVarZ : posVarX
  359. {
  360. text = Z
  361. }
  362. // Initial velocity
  363. label titleVelocity : titleSize
  364. {
  365. text = Velocity
  366. }
  367. slider velocityX : posVarX
  368. {
  369. min = -10
  370. max = 10
  371. text = X
  372. }
  373. slider velocityY : velocityX
  374. {
  375. text = Y
  376. }
  377. slider velocityZ : velocityX
  378. {
  379. text = Z
  380. }
  381. // Velocity variance
  382. label titleVelocityVar : titleSize
  383. {
  384. text = Velocity Var.
  385. }
  386. slider velocityVarX : posVarX
  387. {
  388. }
  389. slider velocityVarY : posVarY
  390. {
  391. }
  392. slider velocityVarZ : posVarZ
  393. {
  394. }
  395. // Acceleration
  396. label titleAcceleration : titleSize
  397. {
  398. text = Accel.
  399. }
  400. slider accelX : velocityX
  401. {
  402. text = X
  403. }
  404. slider accelY : accelX
  405. {
  406. text = Y
  407. }
  408. slider accelZ : accelX
  409. {
  410. text = Z
  411. }
  412. // Acceleration variance
  413. label titleAccelerationVar : titleSize
  414. {
  415. text = Accel. Var.
  416. }
  417. slider accelVarX : posVarX
  418. {
  419. text = X
  420. }
  421. slider accelVarY : posVarX
  422. {
  423. text = Y
  424. }
  425. slider accelVarZ : posVarX
  426. {
  427. text = Z
  428. }
  429. // Local rotation speed
  430. label titleSpinSpeed : titleSize
  431. {
  432. text = Spin Speed
  433. }
  434. slider spinSpeedMin : velocityX
  435. {
  436. text = Min
  437. }
  438. slider spinSpeedMax : spinSpeedMin
  439. {
  440. text = Max
  441. }
  442. // Rotation axis
  443. label titleRotationAxis : titleSize
  444. {
  445. text = Axis Rotation
  446. }
  447. slider axisX : startRed
  448. {
  449. text = X
  450. }
  451. slider axisY : axisX
  452. {
  453. text = Y
  454. }
  455. slider axisZ : axisX
  456. {
  457. text = Z
  458. }
  459. // Rotation axis variance
  460. label titleRotationAxisVar : titleSize
  461. {
  462. text = Axis Var.
  463. }
  464. slider axisVarX : axisX
  465. {
  466. text = X
  467. }
  468. slider axisVarY : axisVarX
  469. {
  470. text = Y
  471. }
  472. slider axisVarZ : axisVarX
  473. {
  474. text = Z
  475. }
  476. // Axis rotation speed
  477. label titleRotationSpeed : titleSize
  478. {
  479. text = Rotation Speed
  480. }
  481. slider rotationSpeedMin : velocityX
  482. {
  483. text = Min
  484. }
  485. slider rotationSpeedMax : rotationSpeedMin
  486. {
  487. text = Max
  488. }
  489. }
  490. // Camera Zoom
  491. container zoom
  492. {
  493. style = noBorder
  494. size = 160, 50
  495. alignment = ALIGN_BOTTOM_HCENTER
  496. button zoomIn
  497. {
  498. style = buttonStyle
  499. size = 80, 50
  500. text = Zoom In
  501. }
  502. button zoomOut : zoomIn
  503. {
  504. position = 80, 0
  505. text = Zoom Out
  506. }
  507. }
  508. }