Skip to content

Commit fa4192e

Browse files
committed
Moved Animation Manager functions into its own components folder for clarity.
Added FromJSON. Updated Create so you only pass in a config object now, not a key AND config.
1 parent ee5e4f5 commit fa4192e

15 files changed

Lines changed: 90 additions & 32 deletions

v3/src/animation/manager/AnimationManager.js

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*/
66

77
var Map = require('../../structs/Map');
8+
var Components = require('./components/');
89

910
/**
1011
* Animations are managed by the global AnimationManager. This is a singleton class that is
@@ -37,16 +38,17 @@ AnimationManager.prototype = {
3738
this.textureManager = textureManager;
3839
},
3940

40-
add: require('./AddAnimation'),
41-
create: require('./CreateFrameAnimation'),
42-
get: require('./GetAnimation'),
43-
remove: require('./RemoveAnimation'),
44-
load: require('./LoadAnimationToGameObject'),
45-
play: require('./PlayAnimation'),
46-
staggerPlay: require('./StaggerPlayAnimation'),
47-
generateFrameNumbers: require('./GenerateFrameNumbers'),
48-
generateFrameNames: require('./GenerateFrameNames'),
49-
toJSON: require('./ToJSON'),
41+
add: Components.AddAnimation,
42+
create: Components.CreateFrameAnimation,
43+
fromJSON: Components.FromJSON,
44+
generateFrameNames: Components.GenerateFrameNames,
45+
generateFrameNumbers: Components.GenerateFrameNumbers,
46+
get: Components.GetAnimation,
47+
load: Components.LoadAnimationToGameObject,
48+
play: Components.PlayAnimation,
49+
remove: Components.RemoveAnimation,
50+
staggerPlay: Components.StaggerPlayAnimation,
51+
toJSON: Components.ToJSON,
5052

5153
destroy: function ()
5254
{

v3/src/animation/manager/CreateFrameAnimation.js

Lines changed: 0 additions & 18 deletions
This file was deleted.
File renamed without changes.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
var Animation = require('../../frame/Animation');
2+
3+
var CreateFrameAnimation = function (config)
4+
{
5+
var key = config.key;
6+
7+
if (!key || this.anims.has(key))
8+
{
9+
console.warn('Invalid Animation Key, or Key already in use: ' + key);
10+
return;
11+
}
12+
13+
var anim = new Animation(this, key, config);
14+
15+
this.anims.set(key, anim);
16+
17+
return anim;
18+
};
19+
20+
module.exports = CreateFrameAnimation;
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
var FromJSON = function (data, clearCurrentAnimations)
2+
{
3+
if (clearCurrentAnimations === undefined) { clearCurrentAnimations = false; }
4+
5+
if (clearCurrentAnimations)
6+
{
7+
this.anims.clear();
8+
}
9+
10+
// Do we have a String (i.e. from JSON, or an Object?)
11+
if (typeof data === 'string')
12+
{
13+
data = JSON.parse(data);
14+
}
15+
16+
var output = [];
17+
18+
// Array of animations, or a single animation?
19+
if (data.hasOwnProperty('anims') && Array.isArray(data.anims))
20+
{
21+
for (var i = 0; i < data.anims.length; i++)
22+
{
23+
output.push(this.create(data.anims[i]));
24+
}
25+
26+
if (data.hasOwnProperty('globalTimeScale'))
27+
{
28+
this.globalTimeScale = data.globalTimeScale;
29+
}
30+
}
31+
else if (data.hasOwnProperty('key') && data.type === 'frame')
32+
{
33+
output.push(this.create(data));
34+
}
35+
36+
return output;
37+
};
38+
39+
module.exports = FromJSON;

v3/src/animation/manager/GenerateFrameNames.js renamed to v3/src/animation/manager/components/GenerateFrameNames.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
var GetObjectValue = require('../../utils/object/GetObjectValue');
2-
var Pad = require('../../utils/string/Pad');
1+
var GetObjectValue = require('../../../utils/object/GetObjectValue');
2+
var Pad = require('../../../utils/string/Pad');
33

44
var GenerateFrameNames = function (key, config)
55
{

v3/src/animation/manager/GenerateFrameNumbers.js renamed to v3/src/animation/manager/components/GenerateFrameNumbers.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var GetObjectValue = require('../../utils/object/GetObjectValue');
1+
var GetObjectValue = require('../../../utils/object/GetObjectValue');
22

33
var GenerateFrameNumbers = function (key, config)
44
{
File renamed without changes.

v3/src/animation/manager/LoadAnimationToGameObject.js renamed to v3/src/animation/manager/components/LoadAnimationToGameObject.js

File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)