Example #1
0
 public DeferredEntity(AEntity entity, Vector3 drawPosition, int z)
     : base(entity.Serial, entity.Map)
 {
     _baseView     = GetBaseView(entity);
     _drawPosition = drawPosition;
     Position.Set(int.MinValue, int.MinValue, z);
 }
Example #2
0
 AEntityView GetBaseView(AEntity entity)
 {
     if (entity is Mobile)
     {
         return((MobileView)entity.GetView());
     }
     if (entity is Corpse)
     {
         return((MobileView)entity.GetView());
     }
     if (entity is LightningEffect)
     {
         return((LightningEffectView)entity.GetView());
     }
     if (entity is AnimatedItemEffect)
     {
         return((AnimatedItemEffectView)entity.GetView());
     }
     if (entity is MovingEffect)
     {
         return((MovingEffectView)entity.GetView());
     }
     Utils.Critical("Cannot defer this type of object.");
     return(null);
 }
Example #3
0
        public Overhead(AEntity parent, MessageTypes msgType, string text)
            : base(parent.Serial, parent.Map)
        {
            Parent      = parent;
            MessageType = msgType;
            Text        = text;
            var plainText = text.Substring(text.IndexOf('>') + 1);

            // Every speech message lasts at least 2.5s, and increases by 100ms for every char, to a max of 10s
            _timePersist = 2500 + (plainText.Length * 100);
            if (_timePersist > 10000)
            {
                _timePersist = 10000;
            }
        }