first commit
This commit is contained in:
46
include/engine/motion/scene_motion.h
Normal file
46
include/engine/motion/scene_motion.h
Normal file
@ -0,0 +1,46 @@
|
||||
/* -----------------------------------------------------------------------------
|
||||
GSFramework
|
||||
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
|
||||
----------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#ifndef __NMOTIONSET__
|
||||
#define __NMOTIONSET__
|
||||
|
||||
|
||||
#include "motion/motion.h"
|
||||
#include "container/nmap.h"
|
||||
|
||||
|
||||
namespace GS {
|
||||
namespace Core {
|
||||
|
||||
/// A motion set holds a reference to several motions.
|
||||
struct SceneMotion
|
||||
{
|
||||
String name;
|
||||
|
||||
struct ItemMotion
|
||||
{
|
||||
uint uid;
|
||||
SharedPtr <Motion> motion;
|
||||
};
|
||||
|
||||
AutoList <ItemMotion *> item_motions;
|
||||
|
||||
void Clone(const SceneMotion &src, const TimeRange &range, bool enforce_loop);
|
||||
|
||||
Motion *GetItemMotion(uint uid, bool create_if_missing = false);
|
||||
|
||||
TimeRange GetTimeRange() const;
|
||||
Time GetDuration() const { return GetTimeRange().valueRange(); }
|
||||
|
||||
bool FromMetaTag(NML::Tag &, const Map <uint, uint> *uid_map = 0);
|
||||
NML::Tag *AsMetaTag();
|
||||
};
|
||||
|
||||
} // Core
|
||||
} // GS
|
||||
|
||||
|
||||
#endif // __NMOTIONSET__
|
||||
Reference in New Issue
Block a user