Oxygine  1
2g game engine
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
oxygine::Tween Class Reference
Inheritance diagram for oxygine::Tween:
oxygine::EventDispatcher oxygine::intrusive_list_item< spTween > oxygine::Object oxygine::ref_counter oxygine::ObjectBase oxygine::PoolObject oxygine::TweenQueue oxygine::TweenT< GS >

Public Types

enum  EASE {
  ease_unknown, ease_linear, ease_inQuad, ease_outQuad,
  ease_inOutQuad, ease_outInQuad, ease_inCubic, ease_outCubic,
  ease_inOutCubic, ease_outInCubic, ease_inQuart, ease_outQuart,
  ease_inOutQuart, ease_outInQuart, ease_inQuint, ease_outQuint,
  ease_inOutQuint, ease_outInQuint, ease_inSin, ease_outSin,
  ease_inOutSin, ease_outInSin, ease_inExpo, ease_outExpo,
  ease_inOutExpo, ease_outInExpo, ease_inCirc, ease_outCirc,
  ease_inOutCirc, ease_outInCirc, ease_inBack, ease_outBack,
  ease_inOutBack, ease_outInBack, ease_inBounce, ease_outBounce,
  ease_inOutBounce, ease_outInBounce, ease_count
}
 
typedef float(* easeHandler) (EASE ease, float v)
 
- Public Types inherited from oxygine::ObjectBase
typedef std::vector< ObjectBase * > __createdObjects
 

Public Member Functions

void init (timeMS duration, int loops=1, bool twoSides=false, timeMS delay=0, EASE ease=Tween::ease_linear)
 
void init2 (const TweenOptions &opt)
 
void reset ()
 
int getLoops () const
 
timeMS getDuration () const
 
timeMS getElapsed () const
 
EASE getEase () const
 
EASE getGlobalEase () const
 
timeMS getDelay () const
 
Actor * getClient () const
 
float getPercent () const
 
spObject getDataObject () const
 
spTween getNextSibling ()
 
spTween getPrevSibling ()
 
const EventCallback & getDoneCallback () const
 
bool isStarted () const
 
bool isDone () const
 
void setDataObject (spObject data)
 
void addDoneCallback (const EventCallback &cb)
 
void setEase (EASE ease)
 
void setGlobalEase (EASE ease)
 
void setDelay (timeMS delay)
 
void setLoops (int loops)
 
void setDuration (timeMS duration)
 
void setClient (Actor *client)
 
void setTwoSides (bool ts)
 
void detachWhenDone (bool detach=true)
 
virtual void complete (timeMS deltaTime=TWEEN_COMPLETE_DT)
 
void remove ()
 
void start (Actor &actor)
 
void update (Actor &actor, const UpdateState &us)
 
void setDoneCallback (const EventCallback &cb)
 
- Public Member Functions inherited from oxygine::EventDispatcher
 EventDispatcher (const EventDispatcher &ed)
 
int addEventListener (eventType, const EventCallback &)
 
void removeEventListener (eventType, const EventCallback &)
 
void removeEventListener (int id)
 
bool hasEventListeners (void *CallbackThis)
 
bool hasEventListeners (eventType, const EventCallback &)
 
void removeEventListeners (void *CallbackThis)
 
void removeAllEventListeners ()
 
virtual void dispatchEvent (Event *event)
 
int getListenersCount () const
 
int getLastListenerID () const
 
const EventCallback & getListenerByIndex (int index) const
 
- Public Member Functions inherited from oxygine::Object
 Object (const Object &src)
 
 Object (bool assignUniqueID=true)
 
- Public Member Functions inherited from oxygine::ref_counter
void addRef ()
 
void releaseRef ()
 
- Public Member Functions inherited from oxygine::ObjectBase
 ObjectBase (const ObjectBase &src)
 
 ObjectBase (bool assignID=true)
 
const std::string & getName () const
 
const void * getUserData () const
 
int getObjectID () const
 
bool isName (const std::string &name) const
 
bool isName (const char *name) const
 
void setName (const std::string &name)
 
void setUserData (const void *data)
 
void dumpObject () const
 
void __removeFromDebugList ()
 
- Public Member Functions inherited from oxygine::intrusive_list_item< spTween >
intrusive_list< spTween > * getParentList ()
 

Static Public Member Functions

static float calcEase (EASE ease, float v)
 
static void setCustomEaseHandler (easeHandler)
 
- Static Public Member Functions inherited from oxygine::ObjectBase
static void dumpCreatedObjects ()
 
static void showAssertInCtor (int id)
 
static void showAssertInDtor (int id)
 
static __createdObjects & __getCreatedObjects ()
 
static void __startTracingLeaks ()
 
static void __stopTracingLeaks ()
 

Protected Types

enum  status {
  status_not_started, status_delayed, status_started, status_done,
  status_remove
}
 
- Protected Types inherited from oxygine::EventDispatcher
typedef std::vector< listener > listeners
 

Protected Member Functions

void done (Actor &, const UpdateState &us)
 
virtual void _start (Actor &actor)
 
virtual void _update (Actor &actor, const UpdateState &us)
 
virtual void _done (Actor &actor, const UpdateState &us)
 
virtual void _loopDone (Actor &actor, const UpdateState &us)
 
virtual float _calcEase (float v)
 
- Protected Member Functions inherited from oxygine::Object
void __doCheck ()
 
- Protected Member Functions inherited from oxygine::ObjectBase
void __generateID ()
 
std::string * __getName () const
 
void __freeName () const
 
- Protected Member Functions inherited from oxygine::intrusive_list_item< spTween >
spTween & getNextSibling ()
 
spTween & getPrevSibling ()
 

Protected Attributes

status _status
 
timeMS _elapsed
 
timeMS _duration
 
timeMS _delay
 
int _loops
 
int _loopsDone
 
EASE _ease
 
EASE _globalEase
 
bool _twoSides
 
float _percent
 
bool _detach
 
EventCallback _cbDone
 
Actor * _client
 
spObject _data
 
- Protected Attributes inherited from oxygine::EventDispatcher
int _lastID
 
listeners * _listeners
 
- Protected Attributes inherited from oxygine::ObjectBase
std::string __name
 
int __id
 
const void * __userData
 
- Protected Attributes inherited from oxygine::intrusive_list_item< spTween >
spTween _prev
 
spTween _next
 
intrusive_list< spTween > * _list
 

Additional Inherited Members

- Public Attributes inherited from oxygine::ref_counter
int _ref_counter
 
- Static Protected Member Functions inherited from oxygine::ObjectBase
static void __addToDebugList (ObjectBase *base)
 
static void __removeFromDebugList (ObjectBase *base)
 
- Static Protected Attributes inherited from oxygine::ObjectBase
static int _lastID
 
static int _assertCtorID
 
static int _assertDtorID
 

Member Function Documentation

◆ addDoneCallback()

void oxygine::Tween::addDoneCallback ( const EventCallback &  cb)

add callback would be called when tween done. Could be added more than one. setDoneCallback is faster because it doesn't allocate memory for list internally

◆ complete()

virtual void oxygine::Tween::complete ( timeMS  deltaTime = TWEEN_COMPLETE_DT)
virtual

immediately completes tween, calls doneCallback and mark tween as completed and removes self from Actor. If tween has infinity loops (=-1) then do nothing

Reimplemented in oxygine::TweenQueue.

◆ detachWhenDone()

void oxygine::Tween::detachWhenDone ( bool  detach = true)
inline

delete actor from parent node when tween done

◆ remove()

void oxygine::Tween::remove ( )

removes self from Actor, complete callback not called

◆ reset()

void oxygine::Tween::reset ( )

if you reset internal Tween state it could be reused and added to actor again

◆ setDataObject()

void oxygine::Tween::setDataObject ( spObject  data)
inline

set custom user data object to Tween. Could be used for store some useful data

◆ setDelay()

void oxygine::Tween::setDelay ( timeMS  delay)
inline

set Delay before starting tween

◆ setDoneCallback()

void oxygine::Tween::setDoneCallback ( const EventCallback &  cb)

set callback when tween done. Doesn't allocate memory. faster than addDoneCallback

◆ setEase()

void oxygine::Tween::setEase ( EASE  ease)
inline

set Easing function

◆ setGlobalEase()

void oxygine::Tween::setGlobalEase ( EASE  ease)
inline

set Global Easing function

◆ setLoops()

void oxygine::Tween::setLoops ( int  loops)
inline

loops = -1 means infinity repeat cycles


The documentation for this class was generated from the following file: