Advertisement
SilverTES

Canon Backup

May 7th, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 14.44 KB | None | 0 0
  1. //    _clip["canonBackup"] =
  2. //    {
  3. //        MAKE_CLIP("canonBackup")
  4. //        ->setParent(_clip["layer0"])
  5. //        ->setup(_window, _mainFont, _mouse)
  6. //        //->setActive(true)
  7. //        //->setPosition(48+12,120+12,2)
  8. //        ->setSize(_screenW,_screenH)
  9. //        ->setCollidable(true)
  10. //        ->setCollideZone(0,Rect{0,0,24,24})
  11. //        ->setCollideZone(1,Rect{0,0,24,24})
  12. //        //->attach(new Component::Draggable())
  13. //        ->setNumber("id",-1)
  14. //        ->setNumber("delay",0)
  15. //        ->setNumber("repair",0)
  16. //        ->setNumber("alarm",100)
  17. //        ->setNumber("warning",0)
  18. //        ->setNumber("warningID",-1)
  19. //        ->setPivot(12,12)
  20. //        ->setSize(24,24)
  21. //        ->setNumber("level",1)
  22. //
  23. //        ->attach(new Component::Jumper(0.35))
  24. //        ->JUMPER->setSpeedMax(2,8)
  25. //        ->JUMPER->setTileMap(_clip["tilemap0"]->TILEMAP2D)
  26. //
  27. //        ->attach(new Component::Unit(0,20,80))
  28. //        ->UNIT->setEnergyBar(20)
  29. //        ->UNIT->setEnergyColor(al_map_rgb(50,200,120))
  30. //        ->UPDATE(
  31. //        {
  32. //            _JUMPER->update();
  33. //            _UNIT->update();
  34. //            //_DRAGGABLE->update();
  35. //
  36. //            //_THIS->updateCollideZone(0,_RECT);
  37. //            if (_NUMBER("level") == 1) _THIS->updateCollideZone(1, Rect{_X-80,_Y-80,160,160});
  38. //            if (_NUMBER("level") == 2) _THIS->updateCollideZone(1, Rect{_X-100,_Y-100,200,200});
  39. //            if (_NUMBER("level") == 3) _THIS->updateCollideZone(1, Rect{_X-120,_Y-120,240,240});
  40. //
  41. //            _THIS->updateCollideZone(0,_RECT);
  42. //
  43. //            ON_COLLIDE_ZONE(0)
  44. //            {
  45. //                ON_COLLIDE_ZONE_CLIP_NAME(0,"miniAlien")
  46. //                {
  47. //
  48. //                    //printf("Enemy Detected : %i \n", _ID_ZONE_COLLIDE_BY(0));
  49. ////                    if (_NUMBER("id") < 0)
  50. ////                        _NUMBER("id") = _ID_ZONE_COLLIDE_BY(0);
  51. //                    Clip* clip = _PARENT->index(_ID_ZONE_COLLIDE_BY(0));
  52. //                    if (nullptr != clip)
  53. //                    {
  54. //
  55. //                        al_play_sample(_asset->GET_SAMPLE("towerHit"), 0.2, 0.0, 1.0, ALLEGRO_PLAYMODE_ONCE, NULL);
  56. //                        _UNIT->_energy -= clip->_mapNumber["level"];
  57. //                        //_msgQueue->post(DEAD, new MsgData::Dead(), clip);
  58. //
  59. //                        if (nullptr != clip->JUMPER)
  60. //                        {
  61. //                            if (_X < clip->_x)
  62. //                                clip->JUMPER->_vx = .5;
  63. //                            else
  64. //                                clip->JUMPER->_vx = -.5;
  65. //                        }
  66. //                    }
  67. //
  68. //
  69. //                }
  70. //
  71. //                ON_COLLIDE_ZONE_CLIP_NAME(0,"maxiAlien")
  72. //                {
  73. //                    //printf("Enemy Detected : %i \n", _ID_ZONE_COLLIDE_BY(0));
  74. ////                    if (_NUMBER("id") < 0)
  75. ////                        _NUMBER("id") = _ID_ZONE_COLLIDE_BY(0);
  76. //                    Clip* clip = _PARENT->index(_ID_ZONE_COLLIDE_BY(0));
  77. //                    if (nullptr != clip)
  78. //                    {
  79. //                        al_play_sample(_asset->GET_SAMPLE("towerHit"), 0.2, 0.0, 1.0, ALLEGRO_PLAYMODE_ONCE, NULL);
  80. //                        _UNIT->_energy -= clip->_mapNumber["level"];
  81. //                        //_msgQueue->post(DEAD, new MsgData::Dead(), clip);
  82. //                        if (nullptr != clip->JUMPER)
  83. //                        {
  84. //                            if (_X < clip->_x)
  85. //                                clip->JUMPER->_vx = .5;
  86. //                            else
  87. //                                clip->JUMPER->_vx = -.5;
  88. //                        }
  89. //                    }
  90. //                }
  91. //
  92. //                ON_COLLIDE_ZONE_CLIP_NAME(0,"destructor")
  93. //                {
  94. //                    //printf("Enemy Detected : %i \n", _ID_ZONE_COLLIDE_BY(0));
  95. ////                    if (_NUMBER("id") < 0)
  96. ////                        _NUMBER("id") = _ID_ZONE_COLLIDE_BY(0);
  97. //                    Clip* clip = _PARENT->index(_ID_ZONE_COLLIDE_BY(0));
  98. //                    if (nullptr != clip)
  99. //                    {
  100. //                        //al_play_sample(_asset->GET_SAMPLE("towerHit"), 0.2, 0.0, 1.0, ALLEGRO_PLAYMODE_ONCE, NULL);
  101. //                        _UNIT->_energy = 0;
  102. //                        //_msgQueue->post(DEAD, new MsgData::Dead(), clip);
  103. //                        if (nullptr != clip->JUMPER)
  104. //                        {
  105. //                            if (_X < clip->_x)
  106. //                                clip->JUMPER->_vx = .5;
  107. //                            else
  108. //                                clip->JUMPER->_vx = -.5;
  109. //                        }
  110. //                    }
  111. //                }
  112. //
  113. //
  114. //                ON_COLLIDE_ZONE_CLIP_NAME(0,"PLAYER")
  115. //                {
  116. //                    Clip* clip = _PARENT->index(_ID_ZONE_COLLIDE_BY(0));
  117. //                    if (nullptr != clip)
  118. //                    {
  119. //                        if (clip->COMMAND->onButton(PAD_UP))
  120. //                        {
  121. //                            if (clip->_mapNumber["nbAmmo"]>0 &&
  122. //                                _UNIT->_energy < _UNIT->_energyMax)
  123. //                            {
  124. //                                _UNIT->_energy += 8;
  125. //
  126. //                                --clip->_mapNumber["nbAmmo"];
  127. //
  128. //                                if (_NUMBER("repair") == 0)
  129. //                                {
  130. //                                    _NUMBER("repair") = 1;
  131. //
  132. //                                    al_play_sample(_asset->GET_SAMPLE("repair"), 0.4, 0.0, 1.0, ALLEGRO_PLAYMODE_ONCE, NULL);
  133. //                                }
  134. //                            }
  135. //                            else
  136. //                            {
  137. //                                _NUMBER("repair") = 0;
  138. //                            }
  139. //                        }
  140. //
  141. //                    }
  142. //                }
  143. //                else
  144. //                {
  145. //                    _NUMBER("repair") = 0;
  146. //                }
  147. //
  148. //            }
  149. //
  150. //            if (_NUMBER("id") < 0)
  151. //            {
  152. //                ON_COLLIDE_ZONE(1)
  153. //                {
  154. //                    ON_COLLIDE_ZONE_CLIP_NAME(1,"miniAlien")
  155. //                    {
  156. //                        //printf("Enemy Detected : %i \n", _ID_ZONE_COLLIDE_BY(0));
  157. //                        if (_NUMBER("id") < 0)
  158. //                            _NUMBER("id") = _ID_ZONE_COLLIDE_BY(1);
  159. //                    }
  160. //
  161. //                    ON_COLLIDE_ZONE_CLIP_NAME(1,"maxiAlien")
  162. //                    {
  163. //                        //printf("Enemy Detected : %i \n", _ID_ZONE_COLLIDE_BY(0));
  164. //                        if (_NUMBER("id") < 0)
  165. //                            _NUMBER("id") = _ID_ZONE_COLLIDE_BY(1);
  166. //                    }
  167. //
  168. //                    ON_COLLIDE_ZONE_CLIP_NAME(1,"destructor")
  169. //                    {
  170. //                        //printf("Enemy Detected : %i \n", _ID_ZONE_COLLIDE_BY(0));
  171. //                        if (_NUMBER("id") < 0)
  172. //                            _NUMBER("id") = _ID_ZONE_COLLIDE_BY(1);
  173. //                    }
  174. //
  175. //                }
  176. //            }
  177. //
  178. //            Clip* clip = _PARENT->index(_NUMBER("id"));
  179. //            if (nullptr != clip)
  180. //            {
  181. //                if (nullptr != clip->UNIT)
  182. //                    if (_NUMBER("delay") > 20*clip->_mapNumber["level"])
  183. //                    {
  184. ////                            VAR vecX = clip->_x - _X;
  185. ////                            VAR vecY = clip->_y - _Y;
  186. ////
  187. ////                            MAKE_CLONE(_clip["canonShot"],"canonShotCopy")
  188. ////                            ->setX(_X)
  189. ////                            ->setY(_Y)
  190. ////                            ->VELOCITY->setVecX(vecX)
  191. ////                            ->VELOCITY->setVecY(vecY)
  192. ////                            ->VELOCITY->setVXMax(4)
  193. ////                            ->VELOCITY->setVYMax(4)
  194. ////                            ->VELOCITY->setAX(.4)
  195. ////                            ->VELOCITY->setAY(.4)
  196. ////                            ->VELOCITY->setVX(0)
  197. ////                            ->VELOCITY->setVY(0);
  198. //
  199. //                            clip->UNIT->_energy -= _NUMBER("level");
  200. //                            _msgQueue->post(DAMAGE, new MsgData::Damage(_NUMBER("level")*4, 0), _PARENT->index(_NUMBER("id")) );
  201. //
  202. //
  203. //                        _NUMBER("delay") = 0;
  204. //
  205. //                    }
  206. //
  207. //                if (!Collision2D::rectRect(clip->_rect, _THIS->getCollideZone(1)->_rect))
  208. //                    _NUMBER("id") = -1;
  209. //
  210. //                ++_NUMBER("delay");
  211. //            }
  212. //            else
  213. //            {
  214. //                _NUMBER("id") = -1; // if Mob dead , locked Id return to -1;
  215. //            }
  216. //
  217. //
  218. //            if (_UNIT->_energy <= 0 )
  219. //            {
  220. //                _clip["tilemap0"]->TILEMAP2D->setTileProperty(_JUMPER->_posMapX,_JUMPER->_posMapY,BUILDABLE,1);
  221. //                _clip["tilemap0"]->TILEMAP2D->setTileProperty(_JUMPER->_posMapX,_JUMPER->_posMapY,EMPTY,1);
  222. //                _clip["tilemap0"]->TILEMAP2D->setTileProperty(_JUMPER->_posMapX,_JUMPER->_posMapY,ID,-1);
  223. //
  224. //                Clip* clip = _PARENT->index(_NUMBER("warningID"));
  225. //                if (nullptr != clip)
  226. //                {
  227. //                    _PARENT->del(_NUMBER("warningID"));
  228. //                }
  229. //                _NUMBER("warningID") = -1;
  230. //
  231. //                al_play_sample(_asset->GET_SAMPLE("towerkill"),
  232. //                               0.8, 0.0, 1.0, ALLEGRO_PLAYMODE_ONCE, NULL);
  233. //
  234. //                _centerX = _ABSX + _OX;
  235. //                _centerY = _ABSY + _OY;
  236. //                _maxRadius = 0.1;
  237. //                _radius = 0.0;
  238. //                _speed = 0.01;
  239. //                _useShader = true;
  240. //
  241. //
  242. //                KILL_THIS();
  243. //            }
  244. //
  245. //
  246. //
  247. //            if (_UNIT->_energy <20)
  248. //            {
  249. //                if (_NUMBER("warning") == 0)
  250. //                    _NUMBER("warning") = 1;
  251. //
  252. //                ++_NUMBER("alarm");
  253. //
  254. //                if (_NUMBER("alarm") > (_UNIT->_energy*5)+4)
  255. //                {
  256. //                    _NUMBER("alarm") = 0;
  257. //                    al_play_sample(_asset->GET_SAMPLE("alarm"),
  258. //                                   0.4, 0.0, 2.0, ALLEGRO_PLAYMODE_ONCE, NULL);
  259. //
  260. //                }
  261. //                _UNIT->setEnergyColor(al_map_rgb(255,20,10));
  262. //            }
  263. //            else
  264. //            {
  265. //                _UNIT->setEnergyColor(al_map_rgb(50,200,120));
  266. //                _NUMBER("alarm") = 100;
  267. //                _NUMBER("warning") = 0;
  268. //
  269. //                Clip* clip = _PARENT->index(_NUMBER("warningID"));
  270. //                if (nullptr != clip)
  271. //                {
  272. //                    _PARENT->del(_NUMBER("warningID"));
  273. //                    _NUMBER("warningID") = -1;
  274. //                }
  275. //
  276. //            }
  277. //
  278. //            if (_NUMBER("warning") == 1)
  279. //            {
  280. //                _NUMBER("warning") = 2;
  281. //
  282. //                Clip* clip = MAKE_CLONE(_clip["warning"], "warning")
  283. //                ->setPosition(_X, _Y,5);
  284. //
  285. //                _NUMBER("warningID") = clip->_id;
  286. //            }
  287. //
  288. //
  289. //
  290. //        })
  291. //        ->RENDER(
  292. //        {
  293. //
  294. //            switch (_NUMBER("level"))
  295. //            {
  296. //                case 1:
  297. //                    al_draw_bitmap(_asset->GET_BITMAP("canon"), _ABSX, _ABSY,0);
  298. //                    break;
  299. //                case 2:
  300. //                    al_draw_bitmap(_asset->GET_BITMAP("canon2"), _ABSX, _ABSY,0);
  301. //                    break;
  302. //                case 3:
  303. //                    al_draw_bitmap(_asset->GET_BITMAP("canon3"), _ABSX, _ABSY,0);
  304. //                    break;
  305. //                default:
  306. //                    break;
  307. //            }
  308. //
  309. //
  310. //            if (Clip::_showClipInfo)
  311. //                Draw::rect(_THIS->getCollideZone(1)->_rect, al_map_rgba(50,250,0,25),0);
  312. //
  313. //            if (_NUMBER("id") > -1)
  314. //            {
  315. //                Clip* clip = _PARENT->index(_NUMBER("id"));
  316. //                if (nullptr != clip)
  317. //                {
  318. //                    if (Collision2D::rectRect(clip->_rect, _THIS->getCollideZone(1)->_rect))
  319. //                    {
  320. //                        if (_NUMBER("level") == 1)
  321. //                            Draw::line
  322. //                            (
  323. //                                clip->absX() + clip->_oX,
  324. //                                clip->absY() + clip->_oY,
  325. //                                _ABSX+_OX,
  326. //                                _ABSY+_OY,
  327. //                                al_map_rgb(25,250,50),
  328. //                                0
  329. //                            );
  330. //
  331. //                        if (_NUMBER("level") == 2)
  332. //                            Draw::line
  333. //                            (
  334. //                                clip->absX() + clip->_oX,
  335. //                                clip->absY() + clip->_oY,
  336. //                                _ABSX+_OX,
  337. //                                _ABSY+_OY,
  338. //                                al_map_rgb(250,25,50),
  339. //                                1
  340. //                            );
  341. //
  342. //                        if (_NUMBER("level") == 3)
  343. //                            Draw::line
  344. //                            (
  345. //                                clip->absX() + clip->_oX,
  346. //                                clip->absY() + clip->_oY,
  347. //                                _ABSX+_OX,
  348. //                                _ABSY+_OY,
  349. //                                al_map_rgb(250,250,150),
  350. //                                2
  351. //                            );
  352. //                    }
  353. //                }
  354. //            }
  355. //
  356. //
  357. //            _THIS->showRect(al_map_rgba(115,120,0,50))
  358. //            ->showPivot(al_map_rgb(255,0,255),2);
  359. //
  360. //            _UNIT->render();
  361. //
  362. ////            DRAW_TEXTF
  363. ////            (
  364. ////                al_map_rgb(220,80,40),
  365. ////                _ABSX+_OX, _ABSY-8, -1,
  366. //////                "N%i",
  367. //////                _NUMBER("level")
  368. //////                "%i",
  369. //////                _NUMBER("id")
  370. ////                "%i",
  371. ////                _NUMBER("warningID")
  372. ////            );
  373. //
  374. //
  375. ////            DRAW_TEXTF
  376. ////            (
  377. ////                al_map_rgb(205,150,0),
  378. ////                _ABSX+_OX, _ABSY+_OY+16, -1,
  379. ////                "%i",
  380. ////                _ID
  381. ////            );
  382. //
  383. //
  384. //
  385. //        })
  386. //    };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement