Source: app03a/view/ViewCircleSprite.js

/**
 * @author    Wolfgang Kowarschick <kowa@hs-augsburg.de>
 * @copyright 2017 - 2018
 * @license   CC-BY-NC-SA-4.0
 */

/**
 * @module app03a/view/ViewCircleSprite
 */

import {Sprite} from 'pixi.js';

/**
 * @property {ModelCircle}   model  - the model to be visualized
 * @property {PIXI.Graphics} sprite - a graphic object that visualizes the model
 */
class ViewCircleSprite
{ /**
   * @param {Object}             p_pixi_app
   * @param {ModelCircle|Object} p_model
   * @param {Object}             p_config
   * @param {string}             p_config.image
   * @param {Object}             p_resources
   */
  constructor(p_pixi_app, p_model, { image: p_image }, p_resources)
  { const c_sprite = new Sprite();
    c_sprite.texture = p_resources[p_image].texture;
    c_sprite.anchor.set(0.5);
    c_sprite.cacheAsBitmap = true;
    p_pixi_app.stage.addChild(c_sprite);
  
    this.sprite = c_sprite;
    this.model  = p_model;

    this.render();
  }

  render()
  { this.sprite.x = this.model.x;
    this.sprite.y = this.model.y;
  }
}

export default ViewCircleSprite;