Subversion Repository Public Repository

Nextrek

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
var Object_Hotspot,
  extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
  hasProp = {}.hasOwnProperty;

Object_Hotspot = (function(superClass) {
  extend(Object_Hotspot, superClass);

  Object.defineProperty(Object_Hotspot.prototype, "selected", {
    set: function(v) {
      return this.behavior.selected = v;
    },
    get: function() {
      return this.behavior.selected;
    }
  });


  /**
  * A hotspot object to define an area on the screen which can respond
  * to user-actions like mouse/touch actions. A hotspot can have multiple
  * images for different states like hovered, selected, etc.
  *
  * @module ui
  * @class Object_Hotspot
  * @extends ui.Object_UIElement
  * @memberof ui
  * @constructor
   */

  function Object_Hotspot(imageName, imageHandling, flipX) {
    Object_Hotspot.__super__.constructor.apply(this, arguments);

    /**
    * The UI object's source rectangle on screen.
    * @property srcRect
    * @type gs.Rect
     */
    this.srcRect = null;

    /**
    * The UI object's visual-component to display the game object on screen.
    * @property visual
    * @type gs.Component_Frame
     */
    this.visual = new gs.Component_Sprite();

    /**
    * The object's image-handling.
    * @property imageHandling
    * @type gs.ImageHandling
     */
    this.imageHandling = imageHandling != null ? imageHandling : 1;

    /**
    * A behavior-component to hotspot-specific behavior to the object.
    * @property behavior
    * @type gs.Component_HotspotBehavior
     */
    this.behavior = new gs.Component_HotspotBehavior();
    this.behavior.imageHandling = this.imageHandling;

    /**
    * The UI object's bitmap used for visual presentation.
    * @property bitmap
    * @type gs.Bitmap
     */
    this.bitmap = ResourceManager.getBitmap("Graphics/Pictures/" + imageName);
    if (this.bitmap != null) {
      if (this.imageHandling === 1) {
        this.srcRect = new Rect(0, this.bitmap.height / 2, this.bitmap.width, this.bitmap.height / 2);
      } else {
        this.srcRect = new Rect(0, 0, this.bitmap.width || 1, this.bitmap.height || 1);
      }
      this.dstRect.set(0, 0, this.srcRect.width || 1, this.srcRect.height || 1);
    } else {
      this.srcRect = new Rect(0, 0, 1, 1);
      this.dstRect.set(0, 0, 1, 1);
    }
    if (flipX) {
      this.visual.mirror = true;
    }
    this.addComponent(this.behavior);
    this.addComponent(this.visual);
  }

  return Object_Hotspot;

})(ui.Object_UIElement);

ui.Object_Hotspot = Object_Hotspot;

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsY0FBQTtFQUFBOzs7QUFBTTs7O0VBQ0YsTUFBTSxDQUFDLGNBQVAsQ0FBc0IsY0FBYyxDQUFDLFNBQXJDLEVBQWdELFVBQWhELEVBQ0k7SUFBQSxHQUFBLEVBQUssU0FBQyxDQUFEO2FBQU8sSUFBQyxDQUFBLFFBQVEsQ0FBQyxRQUFWLEdBQXFCO0lBQTVCLENBQUw7SUFDQSxHQUFBLEVBQUssU0FBQTthQUFHLElBQUMsQ0FBQSxRQUFRLENBQUM7SUFBYixDQURMO0dBREo7OztBQUtBOzs7Ozs7Ozs7Ozs7RUFXYSx3QkFBQyxTQUFELEVBQVksYUFBWixFQUEyQixLQUEzQjtJQUNULGlEQUFBLFNBQUE7O0FBRUE7Ozs7O0lBS0EsSUFBQyxDQUFBLE9BQUQsR0FBVzs7QUFFWDs7Ozs7SUFLQSxJQUFDLENBQUEsTUFBRCxHQUFjLElBQUEsRUFBRSxDQUFDLGdCQUFILENBQUE7O0FBRWQ7Ozs7O0lBS0EsSUFBQyxDQUFBLGFBQUQsMkJBQWlCLGdCQUFnQjs7QUFFakM7Ozs7O0lBS0EsSUFBQyxDQUFBLFFBQUQsR0FBZ0IsSUFBQSxFQUFFLENBQUMseUJBQUgsQ0FBQTtJQUNoQixJQUFDLENBQUEsUUFBUSxDQUFDLGFBQVYsR0FBMEIsSUFBQyxDQUFBOztBQUUzQjs7Ozs7SUFLQSxJQUFDLENBQUEsTUFBRCxHQUFVLGVBQWUsQ0FBQyxTQUFoQixDQUEwQixvQkFBQSxHQUFxQixTQUEvQztJQUVWLElBQUcsbUJBQUg7TUFDSSxJQUFHLElBQUMsQ0FBQSxhQUFELEtBQWtCLENBQXJCO1FBQ0ksSUFBQyxDQUFBLE9BQUQsR0FBZSxJQUFBLElBQUEsQ0FBSyxDQUFMLEVBQVEsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFSLEdBQWlCLENBQXpCLEVBQTRCLElBQUMsQ0FBQSxNQUFNLENBQUMsS0FBcEMsRUFBMkMsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFSLEdBQWlCLENBQTVELEVBRG5CO09BQUEsTUFBQTtRQUdJLElBQUMsQ0FBQSxPQUFELEdBQWUsSUFBQSxJQUFBLENBQUssQ0FBTCxFQUFRLENBQVIsRUFBVyxJQUFDLENBQUEsTUFBTSxDQUFDLEtBQVIsSUFBaUIsQ0FBNUIsRUFBK0IsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFSLElBQWtCLENBQWpELEVBSG5COztNQUlBLElBQUMsQ0FBQSxPQUFPLENBQUMsR0FBVCxDQUFhLENBQWIsRUFBZ0IsQ0FBaEIsRUFBbUIsSUFBQyxDQUFBLE9BQU8sQ0FBQyxLQUFULElBQWtCLENBQXJDLEVBQXdDLElBQUMsQ0FBQSxPQUFPLENBQUMsTUFBVCxJQUFtQixDQUEzRCxFQUxKO0tBQUEsTUFBQTtNQU9JLElBQUMsQ0FBQSxPQUFELEdBQWUsSUFBQSxJQUFBLENBQUssQ0FBTCxFQUFRLENBQVIsRUFBVyxDQUFYLEVBQWMsQ0FBZDtNQUNmLElBQUMsQ0FBQSxPQUFPLENBQUMsR0FBVCxDQUFhLENBQWIsRUFBZ0IsQ0FBaEIsRUFBb0IsQ0FBcEIsRUFBd0IsQ0FBeEIsRUFSSjs7SUFVQSxJQUFHLEtBQUg7TUFDSSxJQUFDLENBQUEsTUFBTSxDQUFDLE1BQVIsR0FBaUIsS0FEckI7O0lBR0EsSUFBQyxDQUFBLFlBQUQsQ0FBYyxJQUFDLENBQUEsUUFBZjtJQUNBLElBQUMsQ0FBQSxZQUFELENBQWMsSUFBQyxDQUFBLE1BQWY7RUFyRFM7Ozs7R0FqQlksRUFBRSxDQUFDOztBQXdFaEMsRUFBRSxDQUFDLGNBQUgsR0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiNcbiMgICBTY3JpcHQ6IE9iamVjdF9Ib3RzcG90XG4jXG4jICAgJCRDT1BZUklHSFQkJFxuI1xuIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5jbGFzcyBPYmplY3RfSG90c3BvdCBleHRlbmRzIHVpLk9iamVjdF9VSUVsZW1lbnRcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0X0hvdHNwb3QucHJvdG90eXBlLCBcInNlbGVjdGVkXCIsXG4gICAgICAgIHNldDogKHYpIC0+IEBiZWhhdmlvci5zZWxlY3RlZCA9IHZcbiAgICAgICAgZ2V0OiAtPiBAYmVoYXZpb3Iuc2VsZWN0ZWRcbiAgICApXG4gICAgXG4gICAgIyMjKlxuICAgICogQSBob3RzcG90IG9iamVjdCB0byBkZWZpbmUgYW4gYXJlYSBvbiB0aGUgc2NyZWVuIHdoaWNoIGNhbiByZXNwb25kXG4gICAgKiB0byB1c2VyLWFjdGlvbnMgbGlrZSBtb3VzZS90b3VjaCBhY3Rpb25zLiBBIGhvdHNwb3QgY2FuIGhhdmUgbXVsdGlwbGVcbiAgICAqIGltYWdlcyBmb3IgZGlmZmVyZW50IHN0YXRlcyBsaWtlIGhvdmVyZWQsIHNlbGVjdGVkLCBldGMuXG4gICAgKlxuICAgICogQG1vZHVsZSB1aVxuICAgICogQGNsYXNzIE9iamVjdF9Ib3RzcG90XG4gICAgKiBAZXh0ZW5kcyB1aS5PYmplY3RfVUlFbGVtZW50XG4gICAgKiBAbWVtYmVyb2YgdWlcbiAgICAqIEBjb25zdHJ1Y3RvclxuICAgICMjIyBcbiAgICBjb25zdHJ1Y3RvcjogKGltYWdlTmFtZSwgaW1hZ2VIYW5kbGluZywgZmxpcFgpIC0+XG4gICAgICAgIHN1cGVyXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogVGhlIFVJIG9iamVjdCdzIHNvdXJjZSByZWN0YW5nbGUgb24gc2NyZWVuLlxuICAgICAgICAqIEBwcm9wZXJ0eSBzcmNSZWN0XG4gICAgICAgICogQHR5cGUgZ3MuUmVjdFxuICAgICAgICAjIyNcbiAgICAgICAgQHNyY1JlY3QgPSBudWxsXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogVGhlIFVJIG9iamVjdCdzIHZpc3VhbC1jb21wb25lbnQgdG8gZGlzcGxheSB0aGUgZ2FtZSBvYmplY3Qgb24gc2NyZWVuLlxuICAgICAgICAqIEBwcm9wZXJ0eSB2aXN1YWxcbiAgICAgICAgKiBAdHlwZSBncy5Db21wb25lbnRfRnJhbWVcbiAgICAgICAgIyMjXG4gICAgICAgIEB2aXN1YWwgPSBuZXcgZ3MuQ29tcG9uZW50X1Nwcml0ZSgpXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogVGhlIG9iamVjdCdzIGltYWdlLWhhbmRsaW5nLlxuICAgICAgICAqIEBwcm9wZXJ0eSBpbWFnZUhhbmRsaW5nXG4gICAgICAgICogQHR5cGUgZ3MuSW1hZ2VIYW5kbGluZ1xuICAgICAgICAjIyNcbiAgICAgICAgQGltYWdlSGFuZGxpbmcgPSBpbWFnZUhhbmRsaW5nID8gMVxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIEEgYmVoYXZpb3ItY29tcG9uZW50IHRvIGhvdHNwb3Qtc3BlY2lmaWMgYmVoYXZpb3IgdG8gdGhlIG9iamVjdC5cbiAgICAgICAgKiBAcHJvcGVydHkgYmVoYXZpb3JcbiAgICAgICAgKiBAdHlwZSBncy5Db21wb25lbnRfSG90c3BvdEJlaGF2aW9yXG4gICAgICAgICMjI1xuICAgICAgICBAYmVoYXZpb3IgPSBuZXcgZ3MuQ29tcG9uZW50X0hvdHNwb3RCZWhhdmlvcigpXG4gICAgICAgIEBiZWhhdmlvci5pbWFnZUhhbmRsaW5nID0gQGltYWdlSGFuZGxpbmdcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBUaGUgVUkgb2JqZWN0J3MgYml0bWFwIHVzZWQgZm9yIHZpc3VhbCBwcmVzZW50YXRpb24uXG4gICAgICAgICogQHByb3BlcnR5IGJpdG1hcFxuICAgICAgICAqIEB0eXBlIGdzLkJpdG1hcFxuICAgICAgICAjIyNcbiAgICAgICAgQGJpdG1hcCA9IFJlc291cmNlTWFuYWdlci5nZXRCaXRtYXAoXCJHcmFwaGljcy9QaWN0dXJlcy8je2ltYWdlTmFtZX1cIilcbiAgICAgICAgXG4gICAgICAgIGlmIEBiaXRtYXA/XG4gICAgICAgICAgICBpZiBAaW1hZ2VIYW5kbGluZyA9PSAxXG4gICAgICAgICAgICAgICAgQHNyY1JlY3QgPSBuZXcgUmVjdCgwLCBAYml0bWFwLmhlaWdodCAvIDIsIEBiaXRtYXAud2lkdGgsIEBiaXRtYXAuaGVpZ2h0IC8gMilcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBAc3JjUmVjdCA9IG5ldyBSZWN0KDAsIDAsIEBiaXRtYXAud2lkdGggfHwgMSwgQGJpdG1hcC5oZWlnaHQgfHwgMSlcbiAgICAgICAgICAgIEBkc3RSZWN0LnNldCgwLCAwLCBAc3JjUmVjdC53aWR0aCB8fCAxLCBAc3JjUmVjdC5oZWlnaHQgfHwgMSlcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgQHNyY1JlY3QgPSBuZXcgUmVjdCgwLCAwLCAxLCAxKVxuICAgICAgICAgICAgQGRzdFJlY3Quc2V0KDAsIDAsICAxLCAgMSlcbiAgICAgICAgICAgIFxuICAgICAgICBpZiBmbGlwWFxuICAgICAgICAgICAgQHZpc3VhbC5taXJyb3IgPSB5ZXNcbiAgXG4gICAgICAgIEBhZGRDb21wb25lbnQoQGJlaGF2aW9yKVxuICAgICAgICBAYWRkQ29tcG9uZW50KEB2aXN1YWwpXG4gICAgICAgIFxudWkuT2JqZWN0X0hvdHNwb3QgPSBPYmplY3RfSG90c3BvdCJdfQ==
//# sourceURL=Object_Hotspot_34.js

Commits for Nextrek/s2s/development/Object_Hotspot_697FC39AK0958A420CS9073ED0E1B997C3EA.js

Diff revisions: vs.
Revision Author Commited Message
1101 Diff Diff ASorrentino picture ASorrentino Wed 16 May, 2018 21:31:54 +0000
1096 Diff Diff ASorrentino picture ASorrentino Wed 16 May, 2018 13:01:21 +0000

Testi

1084 MOliva picture MOliva Fri 11 May, 2018 12:41:55 +0000