Ejemplo n.º 1
0
//----------------------------------------------------------------//
void MOAIAnim::Apply ( float t0, float t1 ) {
	
	if ( t0 == t1 ) {
		this->Apply ( t0 );
		return;
	}
	
	MOAIAttrOp attrOp;
	
	u32 total = this->mLinks.Size ();
	for ( u32 i = 0; i < total; ++i ) {
		
		MOAIAnimLink& link = this->mLinks [ i ];
		MOAIAnimCurveBase* curve = link.mCurve;
		MOAINode* target = link.mTarget;
		
		if ( curve && target ) {
			
			if ( link.mRelative ) {
				curve->GetDelta ( attrOp, t0, t1 );
				target->ApplyAttrOp ( link.mAttrID, attrOp, MOAIAttrOp::ADD );
			}
			else {
				curve->GetValue ( attrOp, t1 );
				target->ApplyAttrOp ( link.mAttrID, attrOp, MOAIAttrOp::SET );
			}
			target->ScheduleUpdate ();
		}
	}
}
Ejemplo n.º 2
0
//----------------------------------------------------------------//
void MOAIAnim::Apply ( float t0, float t1 ) {
	
	if ( t0 == t1 ) {
		this->Apply ( t0 );
		return;
	}
	
	MOAIAttrOp adder;
	
	u32 total = this->mLinks.Size ();
	for ( u32 i = 0; i < total; ++i ) {
		
		MOAIAnimLink& link = this->mLinks [ i ];
		MOAIAnimCurve* curve = link.mCurve;
		MOAINode* target = link.mTarget;
		
		if ( curve && target ) {
			
			if ( link.mRelative ) {
				float value = curve->GetFloatDelta ( t0, t1 );
				adder.SetValue ( value );
				target->ApplyAttrOp ( link.mAttrID, adder, MOAIAttrOp::ADD );
			}
			else {
				float value = curve->GetFloatValue ( t1 );
				target->SetAttributeValue < float >( link.mAttrID, value );
			}
			target->ScheduleUpdate ();
		}
	}
}
Ejemplo n.º 3
0
//----------------------------------------------------------------//
void MOAIAnim::Apply ( float t ) {
	
	MOAIAttrOp attrOp;
	
	u32 total = this->mLinks.Size ();
	for ( u32 i = 0; i < total; ++i ) {
		
		MOAIAnimLink& link = this->mLinks [ i ];
		MOAIAnimCurveBase* curve = link.mCurve;
		MOAINode* target = link.mTarget;
		
		if ( curve && target ) {
			
			if ( !link.mRelative ) {
				curve->GetValue ( attrOp, t );
				target->ApplyAttrOp ( link.mAttrID, attrOp, MOAIAttrOp::SET );
			}
			target->ScheduleUpdate ();
		}
	}
}