NScumm.Scumm.ScummEngine3.DrawObject C# (CSharp) Метод

DrawObject() приватный Метод

private DrawObject ( ) : void
Результат void
        void DrawObject()
        {
            var obj = GetVarOrDirectWord(OpCodeParameter.Param1);

            int xpos, ypos, state;
            DrawObjectCore(out xpos, out ypos, out state);

            var idx = GetObjectIndex(obj);
            if (idx == -1)
                return;

            var od = _objs[idx];
            if (xpos != 0xFF)
            {
                var wx = od.Walk.X + (xpos * 8) - od.Position.X;
                var wy = od.Walk.Y + (ypos * 8) - od.Position.Y;
                od.Walk = new Point((short)wx, (short)wy);
                od.Position = new Point((short)(xpos * 8), (short)(ypos * 8));
            }

            AddObjectToDrawQue((byte)idx);

            var pos = od.Position;
            var w = od.Width;
            var h = od.Height;

            var i = _objs.Length - 1;
            do
            {
                if (_objs[i].Number != 0 &&
                    _objs[i].Position == pos &&
                    _objs[i].Width == w && _objs[i].Height == h)
                    PutState(_objs[i].Number, 0);
            } while ((--i) != 0);

            PutState(obj, state);
        }