NScumm.Scumm.ScummEngine.DrawVerb C# (CSharp) Метод

DrawVerb() защищенный Метод

protected DrawVerb ( int verb, int mode ) : void
verb int
mode int
Результат void
        protected virtual void DrawVerb(int verb, int mode)
        {
            if (verb == 0)
                return;

            var vs = Verbs[verb];
            if (vs.SaveId == 0 && vs.CurMode != 0 && vs.VerbId != 0)
            {
                if (vs.Type == VerbType.Image)
                {
                    DrawVerbBitmap(verb, vs.CurRect.Left, vs.CurRect.Top);
                    return;
                }

                RestoreVerbBG(verb);

                _string[4].Charset = vs.CharsetNr;
                _string[4].Position = new Point(vs.CurRect.Left, vs.CurRect.Top);
                _string[4].Right = (short)(ScreenWidth - 1);
                _string[4].Center = vs.Center;

                if (vs.CurMode == 2)
                    _string[4].Color = vs.DimColor;
                else if (mode != 0 && vs.HiColor != 0)
                    _string[4].Color = vs.HiColor;
                else
                    _string[4].Color = vs.Color;

                // FIXME For the future: Indy3 and under inv scrolling
                /*
                   if (verb >= 31 && verb <= 36)
                   verb += _inventoryOffset;
                 */
                var msg = Verbs[verb].Text;
                if (msg == null || msg.Length == 0)
                    return;

                var tmp = _charset.Center;
                DrawString(4, msg);
                _charset.Center = tmp;

                vs.CurRect.Right = _charset.Str.Right;
                vs.CurRect.Bottom = _charset.Str.Bottom;
                vs.OldRect = _charset.Str;
                _charset.Str.Left = _charset.Str.Right;
            }
            else if (Game.GameId != GameId.FullThrottle)
            {
                RestoreVerbBG(verb);
            }
        }
ScummEngine