You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
1.1 KiB

  1. define([
  2. 'js/renderer'
  3. ], function(
  4. renderer
  5. ) {
  6. var scale = 40;
  7. return {
  8. type: 'chatter',
  9. cd: 0,
  10. cdMax: 150,
  11. init: function(blueprint) {
  12. },
  13. update: function() {
  14. var chatSprite = this.obj.chatSprite;
  15. if (!chatSprite)
  16. return;
  17. if (this.cd > 0) {
  18. this.cd--;
  19. }
  20. else if (this.cd == 0) {
  21. renderer.destroyObject({
  22. sprite: chatSprite
  23. });
  24. this.obj.chatSprite = null;
  25. }
  26. },
  27. extend: function(serverMsg) {
  28. var msg = serverMsg.msg + '\n\'';
  29. var obj = this.obj;
  30. if (obj.chatSprite) {
  31. renderer.destroyObject({
  32. sprite: obj.chatSprite
  33. });
  34. }
  35. var color = null;
  36. if (msg[0] == '*')
  37. color = 0xffeb38;
  38. obj.chatSprite = renderer.buildText({
  39. layerName: 'effects',
  40. text: msg,
  41. color: color,
  42. x: (obj.x * scale) + (scale / 2),
  43. y: (obj.y * scale) - (scale * 0.8)
  44. });
  45. obj.chatSprite.visible = true;
  46. this.cd = this.cdMax;
  47. },
  48. destroy: function() {
  49. var chatSprite = this.obj.chatSprite;
  50. if (!chatSprite)
  51. return;
  52. renderer.destroyObject({
  53. sprite: chatSprite
  54. });
  55. }
  56. };
  57. });