TextureAnimationRequest class
class TextureAnimationRequest { final EventHandle<EventArgs> _startEventHandle = new EventHandle<EventArgs>(); final String _texturePrefix; final int _frameCount; final Coordinate _offset; final int _delay; final String _initialFrame; final Coordinate _initialFrameOffset; bool _done = false; int _frame = null; TextureAnimationRequest(this._texturePrefix, this._frameCount, this._offset, {int delay: 0, int startFrame: 0, String initialFrame: null, Coordinate initialFrameOffset: null}) : this._delay = delay, this._initialFrame = initialFrame, this._initialFrameOffset = initialFrameOffset { assert(_delay >= 0); assert(_texturePrefix != null); assert(_frameCount > 0); assert(_offset.isValid); } bool get fresh => _frame == null; bool get done => _done; EventRoot<EventArgs> get started => _startEventHandle; void update() { if(_frame == null) { _frame = -_delay; } else if(_frame < (_frameCount - 1)){ _frame++; assert(_frame < _frameCount); } else { _done = true; } if(_frame == 0 && !_done) { _startEventHandle.fireEvent(EventArgs.empty); } } Tuple<Coordinate, String> _getFrameDetails() { var frameName; var offset = _offset; if(_frame < 0 && _initialFrame != null) { frameName = _initialFrame; if(_initialFrameOffset != null) { offset = _initialFrameOffset; } } else { // if we're delayed (_frame < 0), then draw frame 0 final frame = (_frame < 0) ? 0 : _frame; var frameString = frame.toInt().toString(); while(frameString.length < 4) { frameString = "0$frameString"; } frameName = "${_texturePrefix}_$frameString.png"; } return new Tuple(offset, frameName); } }
Constructors
new TextureAnimationRequest(String _texturePrefix, int _frameCount, Coordinate _offset, [int delay = 0, int startFrame = 0, String initialFrame = null, Coordinate initialFrameOffset = null]) #
TextureAnimationRequest(this._texturePrefix, this._frameCount, this._offset, {int delay: 0, int startFrame: 0, String initialFrame: null, Coordinate initialFrameOffset: null}) : this._delay = delay, this._initialFrame = initialFrame, this._initialFrameOffset = initialFrameOffset { assert(_delay >= 0); assert(_texturePrefix != null); assert(_frameCount > 0); assert(_offset.isValid); }
Properties
final bool done #
bool get done => _done;
final bool fresh #
bool get fresh => _frame == null;
final Type runtimeType #
A representation of the runtime type of the object.
external Type get runtimeType;
Operators
bool operator ==(other) #
The equality operator.
The default behavior for all Object
s is to return true if and
only if this
and
other are the same object.
If a subclass overrides the equality operator it should override
the hashCode
method as well to maintain consistency.
bool operator ==(other) => identical(this, other);
Methods
int hashCode() #
Get a hash code for this object.
All objects have hash codes. Hash codes are guaranteed to be the
same for objects that are equal when compared using the equality
operator ==
. Other than that there are no guarantees about
the hash codes. They will not be consistent between runs and
there are no distribution guarantees.
If a subclass overrides hashCode
it should override the
equality operator as well to maintain consistency.
external int hashCode();
noSuchMethod(String name, List args) #
noSuchMethod
is invoked when users invoke a non-existant method
on an object. The name of the method and the arguments of the
invocation are passed to noSuchMethod
. If noSuchMethod
returns a value, that value becomes the result of the original
invocation.
The default behavior of noSuchMethod
is to throw a
noSuchMethodError
.
external Dynamic noSuchMethod(String name, List args);
const Object() #
Creates a new Object
instance.
Object
instances have no meaningful state, and are only useful
through their identity. An Object
instance is equal to itself
only.
const Object();
new TextureAnimationRequest(String _texturePrefix, int _frameCount, Coordinate _offset, [int delay = 0, int startFrame = 0, String initialFrame = null, Coordinate initialFrameOffset = null]) #
TextureAnimationRequest(this._texturePrefix, this._frameCount, this._offset, {int delay: 0, int startFrame: 0, String initialFrame: null, Coordinate initialFrameOffset: null}) : this._delay = delay, this._initialFrame = initialFrame, this._initialFrameOffset = initialFrameOffset { assert(_delay >= 0); assert(_texturePrefix != null); assert(_frameCount > 0); assert(_offset.isValid); }
String toString() #
Returns a string representation of this object.
external String toString();
void update() #
void update() { if(_frame == null) { _frame = -_delay; } else if(_frame < (_frameCount - 1)){ _frame++; assert(_frame < _frameCount); } else { _done = true; } if(_frame == 0 && !_done) { _startEventHandle.fireEvent(EventArgs.empty); } }