protected void SetObjectState(int obj, int state, int x, int y)
{
var i = GetObjectIndex(obj);
if (i == -1)
{
Debug.WriteLine("SetObjectState: no such object {0}", obj);
return;
}
if (x != -1 && x != 0x7FFFFFFF)
{
_objs[i].Position = new Point((x * 8), (y * 8));
}
AddObjectToDrawQue((byte)i);
if (Game.Version >= 7)
{
if (state == 0xFF)
{
state = GetStateCore(obj);
var imagecount = _objs[i].Images.Count;
if (state < imagecount)
state++;
else
state = 1;
}
if (state == 0xFE)
state = new Random().Next(_objs[i].Images.Count + 1);
}
PutState(obj, state);
}