phaser-renderer.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. 'use strict'
  2. import Renderer from './renderer';
  3. function addCard(x, y, game, heroName, heroCost, heroPower, heroDesc) {
  4. let textStyle = {
  5. font: "normal 12px Arial",
  6. fill: '#000000',
  7. align: 'center',
  8. boundsAlignH: "center", // bounds center align horizontally
  9. boundsAlignV: "middle" // bounds center align vertically
  10. }
  11. let graphics = game.add.graphics(0, 0);
  12. let color = 0x654321;
  13. let thickness = 2;
  14. let alpha = 1;
  15. graphics.lineStyle(thickness, color, alpha);
  16. graphics.strokeRect(0, 0, 80, 120);
  17. let text = `${heroName}\ncost : ${heroCost}\npower : ${heroPower}`;
  18. let label = game.add.text(3, 3, text, textStyle);
  19. label.setOrigin(0, 0);
  20. let container = game.add.container(x, y, [graphics, label]).setSize(5, 5);
  21. // container.setOrigin(0, 0);
  22. }
  23. export default class PhaserRenderer extends Renderer {
  24. constructor() {
  25. super();
  26. }
  27. render(game, heroesSet) {
  28. let i = 0;
  29. let j = 0;
  30. heroesSet.forEach(hero => {
  31. let x = 10 + (i * 80) + 5;
  32. let y = 10 + (j * 120) + 5;
  33. addCard(x, y, game, hero.name, hero.cost, hero.power, hero.ability.description);
  34. if (x >= 1040) {
  35. i = 0;
  36. j++;
  37. } else {
  38. i++;
  39. }
  40. });
  41. }
  42. getInput(question) {
  43. return prompt(question);
  44. }
  45. }