git-svn-id: svn://svn.ijw.co.nz/svn/OpenRa@1295 993157c7-ee19-0410-b2c4-bb4e9862e678

This commit is contained in:
(no author)
2007-07-17 12:27:49 +00:00
parent 4273d4abfe
commit 6bb26d95e1
3 changed files with 24 additions and 33 deletions

View File

@@ -23,31 +23,31 @@ namespace OpenRa.Game
{
currentSequence = SequenceProvider.GetSequence( name, sequenceName );
frame = 0;
//tickFunc = delegate
//{
// ++frame;
// if( frame >= currentSequence.Length )
// {
// frame = currentSequence.Length - 1;
// tickFunc = delegate { };
// }
//};
tickFunc = delegate
{
++frame;
if( frame >= currentSequence.Length )
{
frame = currentSequence.Length - 1;
tickFunc = delegate { };
}
};
}
public void PlayRepeating( string sequenceName )
{
currentSequence = SequenceProvider.GetSequence( name, sequenceName );
frame = 0;
//tickFunc = delegate
//{
// frame = ( frame + 1 ) % currentSequence.Length;
//};
tickFunc = delegate
{
frame = ( frame + 1 ) % currentSequence.Length;
};
}
Action<double> tickFunc;
public void Tick( double t )
{
//tickFunc( t );
tickFunc( t );
}
}
}

View File

@@ -7,32 +7,23 @@ namespace OpenRa.Game
{
class ConstructionYard : Actor
{
const string name = "fact";
static Sequence idle = SequenceProvider.GetSequence(name, "idle");
static Sequence make = SequenceProvider.GetSequence(name, "make");
Sequence current = make;
int frame = -1;
Animation animation = new Animation( "fact" );
public ConstructionYard(float2 location, int palette)
{
this.renderLocation = location;
this.palette = palette;
animation.PlayToEnd( "make" );
}
public override Sprite[] CurrentImages
{
get
{
if ((current == make) && ++frame >= current.Length)
{
frame = 0;
current = idle;
get { return animation.Images; }
}
return new Sprite[] { current.GetSprite(frame) };
}
public override void Tick( World world, double t )
{
animation.Tick( t );
}
}
}

View File

@@ -9,18 +9,18 @@ namespace OpenRa.Game
{
class Refinery : Actor
{
const string name = "proc";
static Sequence idle = SequenceProvider.GetSequence(name, "idle");
Animation a = new Animation( "proc" );
public Refinery(float2 location, int palette)
{
a.PlayToEnd( "idle" );
this.renderLocation = location;
this.palette = palette;
}
public override Sprite[] CurrentImages
{
get { return new Sprite[] { idle.GetSprite(0) }; }
get { return a.Images; }
}
}
}