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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
var Component_RotateAnimation,
  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;

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


  /**
  * Executes a rotate-animation on a game-object.
  *
  * @module gs
  * @class Component_RotateAnimation
  * @extends gs.Component_Animation
  * @memberof gs
  * @constructor
   */

  function Component_RotateAnimation(data) {
    Component_RotateAnimation.__super__.constructor.apply(this, arguments);
    this.easing = new gs.Easing(null, data != null ? data.easing : void 0);
    this.callback = null;
  }


  /**
  * Serializes the rotate-animation into a data-bundle.
  *
  * @method toDataBundle
   */

  Component_RotateAnimation.prototype.toDataBundle = function() {
    return {
      easing: this.easing
    };
  };


  /**
  * Updates the rotate-animation.
  *
  * @method update
   */

  Component_RotateAnimation.prototype.update = function() {
    Component_RotateAnimation.__super__.update.call(this);
    if (!this.easing.isRunning) {
      return;
    }
    this.object.angle = this.easing.value;
    this.easing.updateValue();
    if (!this.easing.isRunning && !this.easing.isEndless) {
      this.object.angle = Math.round(this.object.angle);
      return typeof this.callback === "function" ? this.callback(this.object, this) : void 0;
    }
  };


  /**
  * Starts the rotate-animation.
  *
  * @method rotateTo
  * @param {number} angle The target angle
  * @param {number} duration The duration in frames.
  * @param {Object} easingType The easing-type.
  * @param {function} [callback] An optional callback called if the animation is finished.
   */

  Component_RotateAnimation.prototype.rotateTo = function(angle, duration, easingType, callback) {
    this.easing.type = easingType || gs.Easings.EASE_LINEAR[gs.EasingTypes.EASE_IN];
    this.callback = callback;
    if (duration === 0 || GameManager.tempSettings.skip) {
      this.object.angle = angle;
      return typeof this.callback === "function" ? this.callback(this.object, this) : void 0;
    } else {
      return this.easing.startValue(this.object.angle, angle - this.object.angle, duration);
    }
  };


  /**
  * Starts the rotate-animation.
  *
  * @method start
  * @param {gs.RotationDirection} direction The rotation direction.
  * @param {number} speed The rotation speed in degrees per frame.
  * @param {number} duration The duration in frames.
  * @param {Object} easingType The easing-type.
  * @param {function} [callback] An optional callback called if the animation is finished.
   */

  Component_RotateAnimation.prototype.rotate = function(direction, speed, duration, easingType, callback) {
    this.easing.type = easingType || gs.Easings.EASE_LINEAR[gs.EasingTypes.EASE_IN];
    this.callback = callback;
    this.speed = speed;
    this.orgAngle = this.object.angle;
    if (direction === 1) {
      speed = -speed;
    }
    if (duration === 0 || GameManager.tempSettings.skip) {
      this.object.angle += speed * duration;
      return typeof this.callback === "function" ? this.callback(this.object, this) : void 0;
    } else {
      return this.easing.startValue(this.object.angle, (this.object.angle + speed * duration) - this.object.angle, duration);
    }
  };


  /**
  * Skips the animation. That is used to skip an animation if the user
  * wants to skip very fast through a visual novel scene.
  *
  * @method skip
   */

  Component_RotateAnimation.prototype.skip = function() {
    var ref;
    if (((ref = this.easing) != null ? ref.duration : void 0) >= GameManager.tempSettings.skipTime) {
      this.object.angle = this.orgAngle + this.speed * this.easing.duration;
      return this.easing.isRunning = false;
    }
  };

  return Component_RotateAnimation;

})(gs.Component_Animation);

gs.Component_RotateAnimation = Component_RotateAnimation;

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEseUJBQUE7RUFBQTs7O0FBQU07Ozs7QUFDRjs7Ozs7Ozs7OztFQVNhLG1DQUFDLElBQUQ7SUFDVCw0REFBQSxTQUFBO0lBRUEsSUFBQyxDQUFBLE1BQUQsR0FBYyxJQUFBLEVBQUUsQ0FBQyxNQUFILENBQVUsSUFBVixpQkFBZ0IsSUFBSSxDQUFFLGVBQXRCO0lBQ2QsSUFBQyxDQUFBLFFBQUQsR0FBWTtFQUpIOzs7QUFNYjs7Ozs7O3NDQUtBLFlBQUEsR0FBYyxTQUFBO1dBQ1Y7TUFBQSxNQUFBLEVBQVEsSUFBQyxDQUFBLE1BQVQ7O0VBRFU7OztBQUdkOzs7Ozs7c0NBS0EsTUFBQSxHQUFRLFNBQUE7SUFDSixvREFBQTtJQUNBLElBQUcsQ0FBSSxJQUFDLENBQUEsTUFBTSxDQUFDLFNBQWY7QUFBOEIsYUFBOUI7O0lBRUEsSUFBQyxDQUFBLE1BQU0sQ0FBQyxLQUFSLEdBQWdCLElBQUMsQ0FBQSxNQUFNLENBQUM7SUFDeEIsSUFBQyxDQUFBLE1BQU0sQ0FBQyxXQUFSLENBQUE7SUFFQSxJQUFHLENBQUksSUFBQyxDQUFBLE1BQU0sQ0FBQyxTQUFaLElBQTBCLENBQUksSUFBQyxDQUFBLE1BQU0sQ0FBQyxTQUF6QztNQUNJLElBQUMsQ0FBQSxNQUFNLENBQUMsS0FBUixHQUFnQixJQUFJLENBQUMsS0FBTCxDQUFXLElBQUMsQ0FBQSxNQUFNLENBQUMsS0FBbkI7bURBQ2hCLElBQUMsQ0FBQSxTQUFVLElBQUMsQ0FBQSxRQUFRLGVBRnhCOztFQVBJOzs7QUFZUjs7Ozs7Ozs7OztzQ0FTQSxRQUFBLEdBQVUsU0FBQyxLQUFELEVBQVEsUUFBUixFQUFrQixVQUFsQixFQUE4QixRQUE5QjtJQUNOLElBQUMsQ0FBQSxNQUFNLENBQUMsSUFBUixHQUFlLFVBQUEsSUFBYyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVksQ0FBQSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQWY7SUFDcEQsSUFBQyxDQUFBLFFBQUQsR0FBWTtJQUVaLElBQUcsUUFBQSxLQUFZLENBQVosSUFBaUIsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUE3QztNQUNJLElBQUMsQ0FBQSxNQUFNLENBQUMsS0FBUixHQUFnQjttREFDaEIsSUFBQyxDQUFBLFNBQVUsSUFBQyxDQUFBLFFBQVEsZUFGeEI7S0FBQSxNQUFBO2FBSUksSUFBQyxDQUFBLE1BQU0sQ0FBQyxVQUFSLENBQW1CLElBQUMsQ0FBQSxNQUFNLENBQUMsS0FBM0IsRUFBa0MsS0FBQSxHQUFRLElBQUMsQ0FBQSxNQUFNLENBQUMsS0FBbEQsRUFBeUQsUUFBekQsRUFKSjs7RUFKTTs7O0FBVVY7Ozs7Ozs7Ozs7O3NDQVVBLE1BQUEsR0FBUSxTQUFDLFNBQUQsRUFBWSxLQUFaLEVBQW1CLFFBQW5CLEVBQTZCLFVBQTdCLEVBQXlDLFFBQXpDO0lBQ0osSUFBQyxDQUFBLE1BQU0sQ0FBQyxJQUFSLEdBQWUsVUFBQSxJQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBWSxDQUFBLEVBQUUsQ0FBQyxXQUFXLENBQUMsT0FBZjtJQUNwRCxJQUFDLENBQUEsUUFBRCxHQUFZO0lBQ1osSUFBQyxDQUFBLEtBQUQsR0FBUztJQUNULElBQUMsQ0FBQSxRQUFELEdBQVksSUFBQyxDQUFBLE1BQU0sQ0FBQztJQUNwQixJQUFHLFNBQUEsS0FBYSxDQUFoQjtNQUNJLEtBQUEsR0FBUSxDQUFDLE1BRGI7O0lBR0EsSUFBRyxRQUFBLEtBQVksQ0FBWixJQUFpQixXQUFXLENBQUMsWUFBWSxDQUFDLElBQTdDO01BQ0ksSUFBQyxDQUFBLE1BQU0sQ0FBQyxLQUFSLElBQWlCLEtBQUEsR0FBUTttREFDekIsSUFBQyxDQUFBLFNBQVUsSUFBQyxDQUFBLFFBQVEsZUFGeEI7S0FBQSxNQUFBO2FBSUksSUFBQyxDQUFBLE1BQU0sQ0FBQyxVQUFSLENBQW1CLElBQUMsQ0FBQSxNQUFNLENBQUMsS0FBM0IsRUFBa0MsQ0FBQyxJQUFDLENBQUEsTUFBTSxDQUFDLEtBQVIsR0FBZ0IsS0FBQSxHQUFRLFFBQXpCLENBQUEsR0FBcUMsSUFBQyxDQUFBLE1BQU0sQ0FBQyxLQUEvRSxFQUFzRixRQUF0RixFQUpKOztFQVJJOzs7QUFjUjs7Ozs7OztzQ0FNQSxJQUFBLEdBQU0sU0FBQTtBQUNGLFFBQUE7SUFBQSxzQ0FBVSxDQUFFLGtCQUFULElBQXFCLFdBQVcsQ0FBQyxZQUFZLENBQUMsUUFBakQ7TUFDSSxJQUFDLENBQUEsTUFBTSxDQUFDLEtBQVIsR0FBZ0IsSUFBQyxDQUFBLFFBQUQsR0FBWSxJQUFDLENBQUEsS0FBRCxHQUFTLElBQUMsQ0FBQSxNQUFNLENBQUM7YUFDN0MsSUFBQyxDQUFBLE1BQU0sQ0FBQyxTQUFSLEdBQW9CLE1BRnhCOztFQURFOzs7O0dBMUY4QixFQUFFLENBQUM7O0FBK0YzQyxFQUFFLENBQUMseUJBQUgsR0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyIjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiNcbiMgICBTY3JpcHQ6IENvbXBvbmVudF9Sb3RhdGVBbmltYXRpb25cbiNcbiMgICAkJENPUFlSSUdIVCQkXG4jXG4jID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmNsYXNzIENvbXBvbmVudF9Sb3RhdGVBbmltYXRpb24gZXh0ZW5kcyBncy5Db21wb25lbnRfQW5pbWF0aW9uXG4gICAgIyMjKlxuICAgICogRXhlY3V0ZXMgYSByb3RhdGUtYW5pbWF0aW9uIG9uIGEgZ2FtZS1vYmplY3QuXG4gICAgKlxuICAgICogQG1vZHVsZSBnc1xuICAgICogQGNsYXNzIENvbXBvbmVudF9Sb3RhdGVBbmltYXRpb25cbiAgICAqIEBleHRlbmRzIGdzLkNvbXBvbmVudF9BbmltYXRpb25cbiAgICAqIEBtZW1iZXJvZiBnc1xuICAgICogQGNvbnN0cnVjdG9yXG4gICAgIyMjXG4gICAgY29uc3RydWN0b3I6IChkYXRhKSAtPlxuICAgICAgICBzdXBlclxuICAgICAgICBcbiAgICAgICAgQGVhc2luZyA9IG5ldyBncy5FYXNpbmcobnVsbCwgZGF0YT8uZWFzaW5nKVxuICAgICAgICBAY2FsbGJhY2sgPSBudWxsXG4gICAgXG4gICAgIyMjKlxuICAgICogU2VyaWFsaXplcyB0aGUgcm90YXRlLWFuaW1hdGlvbiBpbnRvIGEgZGF0YS1idW5kbGUuXG4gICAgKlxuICAgICogQG1ldGhvZCB0b0RhdGFCdW5kbGVcbiAgICAjIyMgICAgICBcbiAgICB0b0RhdGFCdW5kbGU6IC0+XG4gICAgICAgIGVhc2luZzogQGVhc2luZ1xuICAgIFxuICAgICMjIypcbiAgICAqIFVwZGF0ZXMgdGhlIHJvdGF0ZS1hbmltYXRpb24uXG4gICAgKlxuICAgICogQG1ldGhvZCB1cGRhdGVcbiAgICAjIyMgICAgICBcbiAgICB1cGRhdGU6IC0+XG4gICAgICAgIHN1cGVyKClcbiAgICAgICAgaWYgbm90IEBlYXNpbmcuaXNSdW5uaW5nIHRoZW4gcmV0dXJuXG4gICAgICAgIFxuICAgICAgICBAb2JqZWN0LmFuZ2xlID0gQGVhc2luZy52YWx1ZVxuICAgICAgICBAZWFzaW5nLnVwZGF0ZVZhbHVlKClcbiAgICAgICAgXG4gICAgICAgIGlmIG5vdCBAZWFzaW5nLmlzUnVubmluZyBhbmQgbm90IEBlYXNpbmcuaXNFbmRsZXNzXG4gICAgICAgICAgICBAb2JqZWN0LmFuZ2xlID0gTWF0aC5yb3VuZChAb2JqZWN0LmFuZ2xlKVxuICAgICAgICAgICAgQGNhbGxiYWNrPyhAb2JqZWN0LCB0aGlzKVxuXG4gICAgXG4gICAgIyMjKlxuICAgICogU3RhcnRzIHRoZSByb3RhdGUtYW5pbWF0aW9uLlxuICAgICpcbiAgICAqIEBtZXRob2Qgcm90YXRlVG9cbiAgICAqIEBwYXJhbSB7bnVtYmVyfSBhbmdsZSBUaGUgdGFyZ2V0IGFuZ2xlXG4gICAgKiBAcGFyYW0ge251bWJlcn0gZHVyYXRpb24gVGhlIGR1cmF0aW9uIGluIGZyYW1lcy5cbiAgICAqIEBwYXJhbSB7T2JqZWN0fSBlYXNpbmdUeXBlIFRoZSBlYXNpbmctdHlwZS5cbiAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IFtjYWxsYmFja10gQW4gb3B0aW9uYWwgY2FsbGJhY2sgY2FsbGVkIGlmIHRoZSBhbmltYXRpb24gaXMgZmluaXNoZWQuIFxuICAgICMjIyBcbiAgICByb3RhdGVUbzogKGFuZ2xlLCBkdXJhdGlvbiwgZWFzaW5nVHlwZSwgY2FsbGJhY2spIC0+XG4gICAgICAgIEBlYXNpbmcudHlwZSA9IGVhc2luZ1R5cGUgfHwgZ3MuRWFzaW5ncy5FQVNFX0xJTkVBUltncy5FYXNpbmdUeXBlcy5FQVNFX0lOXVxuICAgICAgICBAY2FsbGJhY2sgPSBjYWxsYmFja1xuICAgICAgICBcbiAgICAgICAgaWYgZHVyYXRpb24gPT0gMCBvciBHYW1lTWFuYWdlci50ZW1wU2V0dGluZ3Muc2tpcFxuICAgICAgICAgICAgQG9iamVjdC5hbmdsZSA9IGFuZ2xlXG4gICAgICAgICAgICBAY2FsbGJhY2s/KEBvYmplY3QsIHRoaXMpXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIEBlYXNpbmcuc3RhcnRWYWx1ZShAb2JqZWN0LmFuZ2xlLCBhbmdsZSAtIEBvYmplY3QuYW5nbGUsIGR1cmF0aW9uKVxuICAgICAgICAgICAgXG4gICAgIyMjKlxuICAgICogU3RhcnRzIHRoZSByb3RhdGUtYW5pbWF0aW9uLlxuICAgICpcbiAgICAqIEBtZXRob2Qgc3RhcnRcbiAgICAqIEBwYXJhbSB7Z3MuUm90YXRpb25EaXJlY3Rpb259IGRpcmVjdGlvbiBUaGUgcm90YXRpb24gZGlyZWN0aW9uLlxuICAgICogQHBhcmFtIHtudW1iZXJ9IHNwZWVkIFRoZSByb3RhdGlvbiBzcGVlZCBpbiBkZWdyZWVzIHBlciBmcmFtZS5cbiAgICAqIEBwYXJhbSB7bnVtYmVyfSBkdXJhdGlvbiBUaGUgZHVyYXRpb24gaW4gZnJhbWVzLlxuICAgICogQHBhcmFtIHtPYmplY3R9IGVhc2luZ1R5cGUgVGhlIGVhc2luZy10eXBlLlxuICAgICogQHBhcmFtIHtmdW5jdGlvbn0gW2NhbGxiYWNrXSBBbiBvcHRpb25hbCBjYWxsYmFjayBjYWxsZWQgaWYgdGhlIGFuaW1hdGlvbiBpcyBmaW5pc2hlZC4gXG4gICAgIyMjIFxuICAgIHJvdGF0ZTogKGRpcmVjdGlvbiwgc3BlZWQsIGR1cmF0aW9uLCBlYXNpbmdUeXBlLCBjYWxsYmFjaykgLT5cbiAgICAgICAgQGVhc2luZy50eXBlID0gZWFzaW5nVHlwZSB8fCBncy5FYXNpbmdzLkVBU0VfTElORUFSW2dzLkVhc2luZ1R5cGVzLkVBU0VfSU5dXG4gICAgICAgIEBjYWxsYmFjayA9IGNhbGxiYWNrXG4gICAgICAgIEBzcGVlZCA9IHNwZWVkXG4gICAgICAgIEBvcmdBbmdsZSA9IEBvYmplY3QuYW5nbGVcbiAgICAgICAgaWYgZGlyZWN0aW9uID09IDFcbiAgICAgICAgICAgIHNwZWVkID0gLXNwZWVkXG4gICAgICAgIFxuICAgICAgICBpZiBkdXJhdGlvbiA9PSAwIG9yIEdhbWVNYW5hZ2VyLnRlbXBTZXR0aW5ncy5za2lwXG4gICAgICAgICAgICBAb2JqZWN0LmFuZ2xlICs9IHNwZWVkICogZHVyYXRpb25cbiAgICAgICAgICAgIEBjYWxsYmFjaz8oQG9iamVjdCwgdGhpcylcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgQGVhc2luZy5zdGFydFZhbHVlKEBvYmplY3QuYW5nbGUsIChAb2JqZWN0LmFuZ2xlICsgc3BlZWQgKiBkdXJhdGlvbikgLSBAb2JqZWN0LmFuZ2xlLCBkdXJhdGlvbilcbiAgICAgICAgXG4gICAgIyMjKlxuICAgICogU2tpcHMgdGhlIGFuaW1hdGlvbi4gVGhhdCBpcyB1c2VkIHRvIHNraXAgYW4gYW5pbWF0aW9uIGlmIHRoZSB1c2VyXG4gICAgKiB3YW50cyB0byBza2lwIHZlcnkgZmFzdCB0aHJvdWdoIGEgdmlzdWFsIG5vdmVsIHNjZW5lLlxuICAgICpcbiAgICAqIEBtZXRob2Qgc2tpcFxuICAgICMjIyAgICBcbiAgICBza2lwOiAtPlxuICAgICAgICBpZiBAZWFzaW5nPy5kdXJhdGlvbiA+PSBHYW1lTWFuYWdlci50ZW1wU2V0dGluZ3Muc2tpcFRpbWVcbiAgICAgICAgICAgIEBvYmplY3QuYW5nbGUgPSBAb3JnQW5nbGUgKyBAc3BlZWQgKiBAZWFzaW5nLmR1cmF0aW9uXG4gICAgICAgICAgICBAZWFzaW5nLmlzUnVubmluZyA9IG5vXG4gICAgICAgICAgICBcbmdzLkNvbXBvbmVudF9Sb3RhdGVBbmltYXRpb24gPSBDb21wb25lbnRfUm90YXRlQW5pbWF0aW9uIl19
//# sourceURL=Component_RotateAnimation_89.js

Commits for Nextrek/s2s/development/Component_RotateAnimation_FB6E8ED2KD8BFA475ESB26EEEF8ABABE9026.js

Diff revisions: vs.
Revision Author Commited Message
1084 MOliva picture MOliva Fri 11 May, 2018 12:41:55 +0000