AttributDlg.cpp
Upload User: longmould
Upload Date: 2018-07-13
Package Size: 21677k
Code Size: 9k
Category:

Game Engine

Development Platform:

Visual C++

  1. // AttributDlg.cpp : 实现文件
  2. //
  3. #include "stdafx.h"
  4. #include "Eg2dParticleEdit.h"
  5. #include "AttributDlg.h"
  6. #include ".attributdlg.h"
  7. // CAttributDlg 对话框
  8. IMPLEMENT_DYNAMIC(CAttributDlg, CDialog)
  9. CAttributDlg::CAttributDlg(CWnd* pParent /*=NULL*/)
  10. : CDialog(CAttributDlg::IDD, pParent)
  11. {
  12. }
  13. CAttributDlg::~CAttributDlg()
  14. {
  15. }
  16. void CAttributDlg::DoDataExchange(CDataExchange* pDX)
  17. {
  18. CDialog::DoDataExchange(pDX);
  19. DDX_Control(pDX, IDC_SLIDER1, m_sDirection);
  20. DDX_Control(pDX, IDC_SLIDER2, m_SLI1);
  21. DDX_Control(pDX, IDC_SLIDER3, m_SLI2);
  22. DDX_Control(pDX, IDC_SLIDER4, m_SLI3);
  23. DDX_Control(pDX, IDC_SLIDER5, m_SLI4);
  24. DDX_Control(pDX, IDC_SLIDER6, m_SLI5);
  25. DDX_Control(pDX, IDC_SLIDER7, m_SLI6);
  26. DDX_Control(pDX, IDC_SLIDER8, m_SLI7);
  27. DDX_Control(pDX, IDC_SLIDER9, m_SLI8);
  28. DDX_Control(pDX, IDC_SLIDER10, m_SLI9);
  29. DDX_Control(pDX, IDC_SLIDER11, m_SLI10);
  30. DDX_Control(pDX, IDC_SLIDER12, m_SLI11);
  31. DDX_Control(pDX, IDC_SLIDER13, m_SLI12);
  32. DDX_Control(pDX, IDC_SLIDER14, m_SLI13);
  33. DDX_Control(pDX, IDC_SLIDER15, m_SLI14);
  34. DDX_Control(pDX, IDC_SLIDER16, m_SLI15);
  35. DDX_Control(pDX, IDC_SLIDER17, m_SLI16);
  36. DDX_Control(pDX, IDC_SLIDER18, m_SLI17);
  37. DDX_Control(pDX, IDC_SLIDER19, m_SLI18);
  38. DDX_Control(pDX, IDC_SLIDER20, m_SLI19);
  39. DDX_Control(pDX, IDC_SLIDER21, m_SLI20);
  40. DDX_Control(pDX, IDC_SLIDER31, m_BoxWidth);
  41. DDX_Control(pDX, IDC_SLIDER32, m_BoxHeight);
  42. }
  43. BEGIN_MESSAGE_MAP(CAttributDlg, CDialog)
  44. END_MESSAGE_MAP()
  45. // CAttributDlg 消息处理程序
  46. void CAttributDlg::PreInitDialog()
  47. {
  48. // TODO: 在此添加专用代码和/或调用基类
  49. CDialog::PreInitDialog();
  50. }
  51. BOOL CAttributDlg::OnInitDialog()
  52. {
  53. CDialog::OnInitDialog();
  54. // TODO:  在此添加额外的初始化
  55. m_sDirection.SetRange(0,628);
  56. m_sDirection.SetPos(314);
  57. m_SLI1.SetRange(-100000,100000);
  58. m_SLI1.SetPos(0);
  59. m_SLI2.SetRange(-100000,100000);
  60. m_SLI2.SetPos(0);
  61. m_SLI3.SetRange(0,5000);
  62. m_SLI3.SetPos(0);
  63. m_SLI4.SetRange(0,5000);
  64. m_SLI4.SetPos(0);
  65. m_SLI5.SetRange(-100000,100000);
  66. m_SLI5.SetPos(0);
  67. m_SLI6.SetRange(-100000,100000);
  68. m_SLI6.SetPos(0);
  69. m_SLI7.SetRange(-100000,100000);
  70. m_SLI7.SetPos(0);
  71. m_SLI8.SetRange(-100000,100000);
  72. m_SLI8.SetPos(0);
  73. m_SLI9.SetRange(0,2000);
  74. m_SLI9.SetPos(0);
  75. m_SLI10.SetRange(0,2000);
  76. m_SLI10.SetPos(0);
  77. m_SLI11.SetRange(0,2000);
  78. m_SLI11.SetPos(0);
  79. m_SLI12.SetRange(-100000,100000);
  80. m_SLI12.SetPos(0);
  81. m_SLI13.SetRange(-100000,100000);
  82. m_SLI13.SetPos(0);
  83. m_SLI14.SetRange(0,2000);
  84. m_SLI14.SetPos(0);
  85. m_SLI15.SetRange(0,2000);
  86. m_SLI15.SetPos(0);
  87. m_SLI16.SetRange(0,2000);
  88. m_SLI16.SetPos(0);
  89. m_SLI17.SetRange(0,628);
  90. m_SLI17.SetPos(0);
  91. m_SLI18.SetRange(0,50000);
  92. m_SLI18.SetPos(1);
  93. m_SLI19.SetRange(0,50000);
  94. m_SLI19.SetPos(1);
  95. m_SLI20.SetRange(-100,5000);
  96. m_SLI20.SetPos(-100);
  97. m_BoxWidth.SetRange(0,50000);
  98. m_BoxWidth.SetPos(2);
  99. m_BoxHeight.SetRange(0,5000);
  100. m_BoxHeight.SetPos(2);
  101. return TRUE;  // return TRUE unless you set the focus to a control
  102. // 异常: OCX 属性页应返回 FALSE
  103. }
  104. BOOL CAttributDlg::InitParticleBunch(eg2d::SParticle2DBunch& buch)
  105. {
  106. char dlgText[128];
  107. sprintf(dlgText, "%f", buch.direction);
  108. SetDlgItemText(IDC_EDIT1, dlgText);
  109. m_sDirection.SetPos(buch.direction*100);
  110. sprintf(dlgText, "%f", buch.minGravity);
  111. SetDlgItemText(IDC_EDIT3, dlgText);
  112. m_SLI1.SetPos(buch.minGravity*100);
  113. sprintf(dlgText, "%f", buch.maxGravity);
  114. SetDlgItemText(IDC_EDIT4, dlgText);
  115. m_SLI2.SetPos(buch.maxGravity*100);
  116. sprintf(dlgText, "%f", buch.minLife);
  117. SetDlgItemText(IDC_EDIT5, dlgText);
  118. m_SLI3.SetPos(buch.minLife*100);
  119. sprintf(dlgText, "%f", buch.maxLife);
  120. SetDlgItemText(IDC_EDIT6, dlgText);
  121. m_SLI4.SetPos(buch.maxLife*100);
  122. sprintf(dlgText, "%f", buch.minRadialAccel);
  123. SetDlgItemText(IDC_EDIT7, dlgText);
  124. m_SLI5.SetPos(buch.minRadialAccel*100);
  125. sprintf(dlgText, "%f", buch.maxRadialAccel);
  126. SetDlgItemText(IDC_EDIT8, dlgText);
  127. m_SLI6.SetPos(buch.maxRadialAccel*100);
  128. sprintf(dlgText, "%f", buch.minTangentialAccel);
  129. SetDlgItemText(IDC_EDIT9, dlgText);
  130. m_SLI7.SetPos(buch.minTangentialAccel*100);
  131. sprintf(dlgText, "%f", buch.maxTangentialAccel);
  132. SetDlgItemText(IDC_EDIT10, dlgText);
  133. m_SLI8.SetPos(buch.maxTangentialAccel*100);
  134. sprintf(dlgText, "%f", buch.startSize);
  135. SetDlgItemText(IDC_EDIT11, dlgText);
  136. m_SLI9.SetPos(buch.startSize*100);
  137. sprintf(dlgText, "%f", buch.endSize);
  138. SetDlgItemText(IDC_EDIT12, dlgText);
  139. m_SLI10.SetPos(buch.endSize*100);
  140. sprintf(dlgText, "%f", buch.sizeValue);
  141. SetDlgItemText(IDC_EDIT13, dlgText);
  142. m_SLI11.SetPos(buch.sizeValue*100);
  143. sprintf(dlgText, "%f", buch.maxSpeed);
  144. SetDlgItemText(IDC_EDIT14, dlgText);
  145. m_SLI12.SetPos(buch.maxSpeed*100);
  146. sprintf(dlgText, "%f", buch.minSpeed);
  147. SetDlgItemText(IDC_EDIT15, dlgText);
  148. m_SLI13.SetPos(buch.minSpeed*100);
  149. sprintf(dlgText, "%f", buch.startRote);
  150. SetDlgItemText(IDC_EDIT16, dlgText);
  151. m_SLI14.SetPos(buch.startRote*100);
  152. sprintf(dlgText, "%f", buch.endRote);
  153. SetDlgItemText(IDC_EDIT17, dlgText);
  154. m_SLI15.SetPos(buch.endRote*100);
  155. sprintf(dlgText, "%f", buch.roteValue);
  156. SetDlgItemText(IDC_EDIT18, dlgText);
  157. m_SLI16.SetPos(buch.roteValue*100);
  158. sprintf(dlgText, "%f", buch.spread);
  159. SetDlgItemText(IDC_EDIT19, dlgText);
  160. m_SLI17.SetPos(buch.spread*100);
  161. sprintf(dlgText, "%f", buch.emission);
  162. SetDlgItemText(IDC_EDIT20, dlgText);
  163. m_SLI18.SetPos(buch.emission*100);
  164. sprintf(dlgText, "%f", buch.radiusVar);
  165. SetDlgItemText(IDC_EDIT21, dlgText);
  166. m_SLI19.SetPos(buch.radiusVar*100);
  167. sprintf(dlgText, "%f", buch.lifeTime);
  168. SetDlgItemText(IDC_EDIT22, dlgText);
  169. m_SLI20.SetPos(buch.lifeTime*100);
  170. sprintf(dlgText, "%f", buch.boxWidth);
  171. SetDlgItemText(IDC_EDIT31, dlgText);
  172. m_BoxWidth.SetPos(buch.boxWidth*100);
  173. sprintf(dlgText, "%f", buch.boxHeight);
  174. SetDlgItemText(IDC_EDIT32, dlgText);
  175. m_BoxHeight.SetPos(buch.boxHeight*100);
  176. return TRUE;
  177. }
  178. void CAttributDlg::UpdataParticleBunch(eg2d::SParticle2DBunch& bunch)
  179. {
  180. char dlgText[32];
  181. bunch.direction = m_sDirection.GetPos()*0.01;
  182. sprintf(dlgText, "%f", bunch.direction);
  183. SetDlgItemText(IDC_EDIT1, dlgText);
  184. // 最小重力
  185. bunch.minGravity = m_SLI1.GetPos() * 0.01;
  186. sprintf(dlgText, "%f", bunch.minGravity);
  187. SetDlgItemText(IDC_EDIT3, dlgText);
  188. // 最大重力
  189. bunch.maxGravity = m_SLI2.GetPos() * 0.01;
  190. sprintf(dlgText, "%f", bunch.maxGravity);
  191. SetDlgItemText(IDC_EDIT4, dlgText);
  192. // 最小重力
  193. bunch.minLife = m_SLI3.GetPos() * 0.01;
  194. sprintf(dlgText, "%f", bunch.minLife);
  195. SetDlgItemText(IDC_EDIT5, dlgText);
  196. bunch.maxLife = m_SLI4.GetPos() * 0.01;
  197. sprintf(dlgText, "%f", bunch.maxLife);
  198. SetDlgItemText(IDC_EDIT6, dlgText);
  199. bunch.minRadialAccel = m_SLI5.GetPos() * 0.01;
  200. sprintf(dlgText, "%f", bunch.minRadialAccel);
  201. SetDlgItemText(IDC_EDIT7, dlgText);
  202. bunch.maxRadialAccel = m_SLI6.GetPos() * 0.01;
  203. sprintf(dlgText, "%f", bunch.maxRadialAccel);
  204. SetDlgItemText(IDC_EDIT8, dlgText);
  205. bunch.minTangentialAccel = m_SLI7.GetPos() * 0.01;
  206. sprintf(dlgText, "%f", bunch.minTangentialAccel);
  207. SetDlgItemText(IDC_EDIT9, dlgText);
  208. bunch.minTangentialAccel = m_SLI8.GetPos() * 0.01;
  209. sprintf(dlgText, "%f", bunch.minTangentialAccel);
  210. SetDlgItemText(IDC_EDIT10, dlgText);
  211. bunch.startSize = m_SLI9.GetPos() * 0.01;
  212. sprintf(dlgText, "%f", bunch.startSize);
  213. SetDlgItemText(IDC_EDIT11, dlgText);
  214. bunch.endSize = m_SLI10.GetPos() * 0.01;
  215. sprintf(dlgText, "%f", bunch.endSize);
  216. SetDlgItemText(IDC_EDIT12, dlgText);
  217. bunch.sizeValue = m_SLI11.GetPos() * 0.01;
  218. sprintf(dlgText, "%f", bunch.sizeValue);
  219. SetDlgItemText(IDC_EDIT13, dlgText);
  220. bunch.maxSpeed = m_SLI12.GetPos() * 0.01;
  221. sprintf(dlgText, "%f", bunch.maxSpeed);
  222. SetDlgItemText(IDC_EDIT14, dlgText);
  223. bunch.minSpeed = m_SLI13.GetPos() * 0.01;
  224. sprintf(dlgText, "%f", bunch.minSpeed);
  225. SetDlgItemText(IDC_EDIT15, dlgText);
  226. bunch.startRote = m_SLI14.GetPos() * 0.01;
  227. sprintf(dlgText, "%f", bunch.startRote);
  228. SetDlgItemText(IDC_EDIT16, dlgText);
  229. bunch.endRote = m_SLI15.GetPos() * 0.01;
  230. sprintf(dlgText, "%f", bunch.endRote);
  231. SetDlgItemText(IDC_EDIT17, dlgText);
  232. bunch.roteValue = m_SLI16.GetPos() * 0.01;
  233. sprintf(dlgText, "%f", bunch.roteValue);
  234. SetDlgItemText(IDC_EDIT18, dlgText);
  235. bunch.spread = m_SLI17.GetPos()*0.01;
  236. sprintf(dlgText, "%f", bunch.spread);
  237. SetDlgItemText(IDC_EDIT19, dlgText);
  238. bunch.emission = m_SLI18.GetPos()*0.01;
  239. sprintf(dlgText, "%f", bunch.emission);
  240. SetDlgItemText(IDC_EDIT20, dlgText);
  241. bunch.radiusVar = m_SLI19.GetPos()*0.01;
  242. sprintf(dlgText, "%f", bunch.radiusVar);
  243. SetDlgItemText(IDC_EDIT21, dlgText);
  244. bunch.lifeTime = m_SLI20.GetPos()*0.01;
  245. sprintf(dlgText, "%f", bunch.lifeTime);
  246. SetDlgItemText(IDC_EDIT22, dlgText);
  247. bunch.boxWidth = m_BoxWidth.GetPos()*0.01;
  248. sprintf(dlgText, "%f", bunch.boxWidth);
  249. SetDlgItemText(IDC_EDIT31, dlgText);
  250. bunch.boxHeight = m_BoxHeight.GetPos()*0.01;
  251. sprintf(dlgText, "%f", bunch.boxHeight);
  252. SetDlgItemText(IDC_EDIT32, dlgText);
  253. }