예제 #1
0
        public override bool Draw(HudComponent component, Rect rect)
        {
            HudTimings.Update(component)?.Start();

            var result = DoDraw(rect);

            HudTimings.Update(component)?.Finish(rect);

            return(result);
        }
예제 #2
0
        public void Draw(Rect rect, PawnModel model)
        {
            HudTimings.Update(this)?.Start();

            try
            {
                if (model == null)
                {
                    return;
                }

                if (model.Base != _lastPawn || _lastRefresh == default || (DateTime.Now - _lastRefresh).TotalMilliseconds > Theme.RefreshRate.Value * 100)
                {
                    Prepare(model);
                    _lastPawn    = model.Base;
                    _lastRefresh = DateTime.Now;
                }

                Draw(rect);
            }
            catch (Exception exception) { Mod.HandleError(exception); }

            HudTimings.Update(this)?.Finish(rect, true);
        }