8 _target( initial_value ),
9 _last_target( initial_value )
11 static_assert( !std::is_pointer<T>::value,
"I don't think that AnimNode should have a pointer as template argument." );
12 this->cm.inherits( this->AnimNodeI::cm );
18 static TableId DebugTable = TableId::create(
"AnimNode" );
21 row.
Column(
"target", this->_target );
22 row.Column(
"last_target", this->_last_target );
28 this->AnimNodeI::label( val );
35 return this->AnimNodeI::label();
41 this->Target( iv::StringIO_Read< T >( source, context ) );
47 return iv::StringIO_Write< T >( this->Target(), context );
53 return this->AnimNodeI::Speed();
59 this->AnimNodeI::Speed( val );
66 this->AnimNodeI::Speed_inf();
73 if( this->_target == target )
77 this->_target = target;
80 this->in_target_notified =
false;
102 return this->_last_target;
108 return this->Distance() ==
Anim_float( 0.0 ) && this->_last_target == this->_target;
114 return this->Distance() ==
Anim_float( 0.0 ) && this->_last_target == this->_target && this->_last_target == target;
120 this->_last_target = this->_target;
124 bool AnimNode< T >::TargetStabilized()
126 return this->_last_target == this->_target;