change PlayThen and PlayRepeating definitions to not allocate Action objects like crazy
This commit is contained in:
@@ -48,12 +48,21 @@ namespace OpenRA.Graphics
|
|||||||
|
|
||||||
public void Play( string sequenceName )
|
public void Play( string sequenceName )
|
||||||
{
|
{
|
||||||
PlayThen(sequenceName, () => { });
|
PlayThen(sequenceName, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PlayRepeating( string sequenceName )
|
public void PlayRepeating( string sequenceName )
|
||||||
{
|
{
|
||||||
PlayThen( sequenceName, () => PlayRepeating( CurrentSequence.Name ) );
|
backwards = false;
|
||||||
|
tickAlways = false;
|
||||||
|
CurrentSequence = SequenceProvider.GetSequence(name, sequenceName);
|
||||||
|
frame = 0;
|
||||||
|
tickFunc = () =>
|
||||||
|
{
|
||||||
|
++frame;
|
||||||
|
if (frame >= CurrentSequence.Length)
|
||||||
|
frame = 0;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool ReplaceAnim(string sequenceName)
|
public bool ReplaceAnim(string sequenceName)
|
||||||
@@ -68,7 +77,6 @@ namespace OpenRA.Graphics
|
|||||||
|
|
||||||
public void PlayThen( string sequenceName, Action after )
|
public void PlayThen( string sequenceName, Action after )
|
||||||
{
|
{
|
||||||
after = after ?? ( () => { } );
|
|
||||||
backwards = false;
|
backwards = false;
|
||||||
tickAlways = false;
|
tickAlways = false;
|
||||||
CurrentSequence = SequenceProvider.GetSequence( name, sequenceName );
|
CurrentSequence = SequenceProvider.GetSequence( name, sequenceName );
|
||||||
@@ -80,7 +88,7 @@ namespace OpenRA.Graphics
|
|||||||
{
|
{
|
||||||
frame = CurrentSequence.Length - 1;
|
frame = CurrentSequence.Length - 1;
|
||||||
tickFunc = () => { };
|
tickFunc = () => { };
|
||||||
after();
|
if (after != null) after();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user