TapestryEngine

A 2D Platformer Game Engine
Log | Files | Refs

c7dd5ec4035cda96c4e34d2e4c645732f2560492.svn-base (1703B)


      1 #include "Sequence.h"
      2 
      3 Sequence::Sequence(AnimPack* pck, EventReceiver* prtlib, EventReceiver* sndlib) : mAnimPack(pck), mPrtLib(prtlib), mSndLib(sndlib), mPlaying(false), mLooping(true)
      4 {
      5 	for(int i = 0; i < mAnimPack->GetAnimData()->GetAnimCount(); i++)
      6 	{
      7 		mAnimPack->GetAnimationDirect(i)->mFeed.Subscribe(this);
      8 	}
      9 }
     10 
     11 seq_player_idle::seq_player_idle(AnimPack* pck, EventReceiver* prtlib, EventReceiver* sndlib) : Sequence(pck, prtlib, sndlib)
     12 {
     13 }
     14 
     15 Frame seq_player_idle::Run()
     16 {
     17 	if (mLooping == false)
     18 	{
     19 		return mAnimPack->ActivateAnimation(IDLE_BEGIN, ONCE)->GetCurrentFrame();
     20 	}
     21 	else
     22 	{
     23 		return mAnimPack->ActivateAnimation(IDLE)->GetCurrentFrame();
     24 	}
     25 }
     26 
     27 bool seq_player_idle::EventProcess(Event eve)
     28 {
     29 	switch (*eve.GetEventType())
     30 	{
     31 	case ANIM_COMPLETE:
     32 		if (eve.GetEventData()->i == IDLE_BEGIN)
     33 		{
     34 			mLooping = true;
     35 		}
     36 	default:
     37 		gCons->ConsPrintf("Sequence asked to process unrecognized event\n");
     38 	}
     39 	return false;
     40 }
     41 
     42 
     43 seq_player_run::seq_player_run(AnimPack* pck, EventReceiver* prtlib, EventReceiver* sndlib) : Sequence(pck, prtlib, sndlib)
     44 {
     45 }
     46 
     47 Frame seq_player_run::Run()
     48 {
     49 	return mAnimPack->ActivateAnimation(RUN)->GetCurrentFrame();
     50 }
     51 
     52 bool seq_player_run::EventProcess(Event eve)
     53 {
     54 	switch (*eve.GetEventType())
     55 	{
     56 	case ANIM_COMPLETE:
     57 		if (eve.GetEventData()->i == IDLE_BEGIN)
     58 		{
     59 			mLooping = true;
     60 		}
     61 	default:
     62 		gCons->ConsPrintf("Sequence asked to process unrecognized event\n");
     63 	}
     64 	return false;
     65 }
     66 
     67 SequenceGraph::SequenceGraph(AnimPack pck, EventReceiver* prtlib, EventReceiver* sndlib) : mAnimPack(pck)
     68 {
     69 }
     70 
     71 bool SequenceGraph::LogSequence(Sequence* seq, int ID)
     72 {
     73 	mSeqs.push_back(seq);
     74 	mIDs.push_back(ID);
     75 	seq->SetSequenceGraph(this);
     76 	return false;
     77 }