コード例 #1
0
        private void UpdateDamageOverhead(double totalMS, double frameMS)
        {
            foreach (KeyValuePair <GameObject, Deque <DamageOverhead> > pair in _damageOverheads)
            {
                Mobile parent = (Mobile)pair.Key;
                var    deque  = pair.Value;

                int offY = parent.IsMounted ? 0 : -22;

                for (int i = 0; i < deque.Count; i++)
                {
                    DamageOverhead obj = deque[i];
                    obj.Update(totalMS, frameMS);

                    if (obj.IsDisposed)
                    {
                        deque.RemoveAt(i--);
                    }
                    else
                    {
                        obj.Bounds.X      = (obj.Texture.Width >> 1) - 22;
                        obj.Bounds.Y      = offY + obj.Texture.Height - obj.OffsetY;
                        obj.Bounds.Width  = obj.Texture.Width;
                        obj.Bounds.Height = obj.Texture.Height;

                        offY += obj.Texture.Height;
                    }
                }

                if (deque.Count == 0)
                {
                    _toRemoveDamages.Add(parent);
                }
            }
        }
コード例 #2
0
        public override bool Draw(SpriteBatch3D spriteBatch, Vector3 position, MouseOverList objectList)
        {
            DamageOverhead dmg = (DamageOverhead)GameObject;

            if (dmg.MovingTime >= 50)
            {
                dmg.MovingTime = 0;
                dmg.OffsetY   -= 2;
            }

            return(base.Draw(spriteBatch, position, objectList));
        }
コード例 #3
0
        internal void AddDamage(GameObject obj, DamageOverhead text)
        {
            if (!_damageOverheads.TryGetValue(obj, out Deque <DamageOverhead> deque) || deque == null)
            {
                deque = new Deque <DamageOverhead>();
                _damageOverheads[obj] = deque;
            }

            deque.AddToFront(text);

            if (deque.Count > 10)
            {
                deque.RemoveFromBack();
            }
        }
コード例 #4
0
 public DamageOverheadView(DamageOverhead parent, int maxwidth = 0, ushort hue = 0xFFFF, byte font = 0, bool isunicode = false, FontStyle style = FontStyle.None) : base(parent, maxwidth, hue, font, isunicode, style)
 {
 }