Welcome to the forums!
Several approaches come to mind...
1) Simply use getTweensOf() to get the animations you need.
I imagine you know the targets of the tweens that you need, so just feed those in...
var animations = TweenLite.getTweensOf([obj1, obj2, obj3]);
//now you can do whatever you want with those - pause() them, timeScale(), or whatever.
2) Populate a discrete timeline instance
var game = new TimelineLite({smoothChildTiming:true});
var ui = new TimelineLite({smoothChildTiming:true});
//now just tween accordingly, and if you want things to start "now", use rawTime()...
game.to(obj, 1, {...}, game.rawTime());
ui.to(obj2, 1, {...}, ui.rawTime());
If you feel like the code is getting redundant or long-winded, you could even write some functions to make it more concise...
var gameTL = new TimelineLite({smoothChildTiming:true}),
game = {
to: function(target, duration, vars) {
return gameTL.to(target, duration, vars, gameTL.rawTime());
},
from: function(target, duration, vars) {
return gameTL.from(target, duration, vars, gameTL.rawTime());
},
fromTo: function(target, duration, fromVars, toVars) {
return gameTL.fromTo(target, duration, fromVars, toVars, gameTL.rawTime());
}
},
uiTL = new TimelineLite({smoothChildTiming:true}),
ui = {
to: function(target, duration, vars) {
return uiTL.to(target, duration, vars, uiTL.rawTime());
},
from: function(target, duration, vars) {
return uiTL.from(target, duration, vars, uiTL.rawTime());
},
fromTo: function(target, duration, fromVars, toVars) {
return uiTL.fromTo(target, duration, fromVars, toVars, uiTL.rawTime());
}
};
//now you can just write animations using "game" or "ui" instead of TweenLite or TweenMax:
game.to(...);
game.from(...);
ui.to(...);
ui.from(...);
...
Then, just control them independently like game.pause() or ui.pause().
3) Use the "data" property to segregate things
You can flag any tween using the data property like:
TweenMax.to(... {data:"game"});
TweenMax.to(... {data:"ui"});
//now get them and do whatever you want with them:
var gameTweens = getByData("game");
function getByData(data) {
var animations = TweenMax.getAllTweens(),
i = animations.length,
results = [];
while (--i > -1) {
if (animations[i].vars.data === data) {
results.push(animations[i]);
}
}
return results;
}
Does that help?
There are probably even more ways to do this, but hopefully this gets you going in the right direction