Example #1
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <remarks>Every initial values come from <see cref="Constants.Player"/>.</remarks>
 internal Player() : base(
         0,
         Constants.Player.INITIAL_X,
         Constants.Player.INITIAL_Y,
         Constants.Player.SPRITE_WIDTH,
         Constants.Player.SPRITE_HEIGHT,
         Constants.Player.MAXIMAL_LIFE_POINTS,
         Constants.Player.HIT_LIFE_POINT_COST,
         Constants.Player.INITIAL_SPEED,
         Constants.Player.RECOVERY_TIME,
         nameof(Filename.Player),
         nameof(Filename.PlayerRecovery),
         Direction.Right)
 {
     NewScreenEntrance      = null;
     Inventory              = new Inventory();
     SwordHitSprite         = null;
     _hitElapser            = null;
     _currentWeaponHitDelay = Constants.Player.SWORD_HIT_DELAY;
     _movementTimeManager   = new Elapser(this, ElapserUse.PlayerMovement);
     _renderShield          = DefaultRender.BasicImage(this, nameof(Filename.PlayerShield));
     _renderRecoveryShield  = DefaultRender.AnimatedBasicImage(this,
                                                               nameof(Filename.PlayerRecoveryShield), ElapserUse.LifeSpriteRecovery, Constants.RECOVERY_BLINK_DELAY);
     _renderSword         = DefaultRender.BasicImage(this, nameof(Filename.PlayerSword));
     _renderRecoverySword = DefaultRender.AnimatedBasicImage(this,
                                                             nameof(Filename.PlayerRecoverySword), ElapserUse.LifeSpriteRecovery, Constants.RECOVERY_BLINK_DELAY);
 }
Example #2
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="id"><see cref="Sprite.Id"/></param>
 /// <param name="x"><see cref="Sprite.X"/></param>
 /// <param name="y"><see cref="Sprite.Y"/></param>
 /// <param name="width"><see cref="Sprite.Width"/></param>
 /// <param name="height"><see cref="Sprite.Height"/></param>
 /// <param name="maximalLifePoints"><see cref="MaximalLifePoints"/></param>
 /// <param name="hitLifePointCost"><see cref="HitLifePointCost"/></param>
 /// <param name="speed"><see cref="_originalSpeed"/></param>
 /// <param name="recoveryTime"><see cref="_recoveryTime"/></param>
 /// <param name="renderFilename">File name for <see cref="Sprite._render"/>.</param>
 /// <param name="renderRecoveryFilename">File name for <see cref="_renderRecovery"/>.</param>
 /// <param name="defaultDirection">Default <see cref="Direction"/>.</param>
 protected LifeSprite(int id, double x, double y, double width, double height, double maximalLifePoints, double hitLifePointCost,
                      double speed, double recoveryTime, string renderFilename, string renderRecoveryFilename, Direction defaultDirection)
     : base(id, x, y, width, height, maximalLifePoints, RenderType.Image, new[] { renderFilename, nameof(Direction) })
 {
     Direction              = defaultDirection;
     MaximalLifePoints      = maximalLifePoints;
     HitLifePointCost       = hitLifePointCost;
     _originalSpeed         = speed;
     _recoveryManager       = null;
     _recoveryTime          = recoveryTime;
     ExplosionLifePointCost = Constants.Bomb.EXPLOSION_LIFE_POINT_COST;
     ArrowLifePointCost     = Constants.Arrow.LIFE_POINT_COST;
     _renderRecovery        = DefaultRender.AnimatedBasicImage(this, renderRecoveryFilename, ElapserUse.LifeSpriteRecovery, Constants.RECOVERY_BLINK_DELAY);
 }
Example #3
0
 /// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         var hashCode = 41;
         // Suitable nullity checks etc, of course :)
         if (ManagerRoot != null)
         {
             hashCode = hashCode * 59 + ManagerRoot.GetHashCode();
         }
         if (HttpServiceFilter != null)
         {
             hashCode = hashCode * 59 + HttpServiceFilter.GetHashCode();
         }
         if (DefaultRender != null)
         {
             hashCode = hashCode * 59 + DefaultRender.GetHashCode();
         }
         if (Realm != null)
         {
             hashCode = hashCode * 59 + Realm.GetHashCode();
         }
         if (Username != null)
         {
             hashCode = hashCode * 59 + Username.GetHashCode();
         }
         if (Password != null)
         {
             hashCode = hashCode * 59 + Password.GetHashCode();
         }
         if (Category != null)
         {
             hashCode = hashCode * 59 + Category.GetHashCode();
         }
         if (Locale != null)
         {
             hashCode = hashCode * 59 + Locale.GetHashCode();
         }
         if (Loglevel != null)
         {
             hashCode = hashCode * 59 + Loglevel.GetHashCode();
         }
         if (Plugins != null)
         {
             hashCode = hashCode * 59 + Plugins.GetHashCode();
         }
         return(hashCode);
     }
 }
Example #4
0
        /// <summary>
        /// Computes and gets a <see cref="Renders.IRender"/> from given properties.
        /// </summary>
        /// <param name="renderType"><see cref="Enums.RenderType"/></param>
        /// <param name="renderProperties">Datas required to initialize the <see cref="Renders.IRender"/>.</param>
        /// <returns><see cref="Renders.IRender"/></returns>
        protected IRender GetRenderFromValues(RenderType renderType, params string[] renderProperties)
        {
            switch (renderType)
            {
            case RenderType.ImageMosaic:
                return(DefaultRender.ImageWithMosaic(this, renderProperties[0]));

            case RenderType.Image:
                return(DefaultRender.BasicImage(this, renderProperties[0]));

            case RenderType.Plain:
                return(DefaultRender.PlainColor(this, renderProperties[0]));

            case RenderType.ImageAnimated:
                return(DefaultRender.AnimatedBasicImage(this, renderProperties[0], (ElapserUse)System.Convert.ToInt32(renderProperties[1]), System.Convert.ToDouble(renderProperties[2])));

            case RenderType.ImageMosaicAnimated:
                return(DefaultRender.AnimatedImageWithMosaic(this, renderProperties[0], (ElapserUse)System.Convert.ToInt32(renderProperties[1]), System.Convert.ToDouble(renderProperties[2])));

            default:
                throw new System.NotImplementedException(Messages.NotImplementedRenderExceptionMessage);
            }
        }
Example #5
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="itemType"><see cref="ItemType"/>.</param>
 /// <param name="quantity"><see cref="Quantity"/>; ignored if the item is marked as unique.</param>
 internal InventoryItem(ItemType itemType, int quantity)
 {
     BaseItem = Item.GetItem(itemType);
     Quantity = BaseItem.Unique ? 1 : quantity;
     Render   = DefaultRender.BasicImage(null, BaseItem.Type.ToString());
 }
Example #6
0
        /// <summary>
        /// Returns true if OrgApacheFelixWebconsoleInternalServletOsgiManagerProperties instances are equal
        /// </summary>
        /// <param name="other">Instance of OrgApacheFelixWebconsoleInternalServletOsgiManagerProperties to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(OrgApacheFelixWebconsoleInternalServletOsgiManagerProperties other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     ManagerRoot == other.ManagerRoot ||
                     ManagerRoot != null &&
                     ManagerRoot.Equals(other.ManagerRoot)
                     ) &&
                 (
                     HttpServiceFilter == other.HttpServiceFilter ||
                     HttpServiceFilter != null &&
                     HttpServiceFilter.Equals(other.HttpServiceFilter)
                 ) &&
                 (
                     DefaultRender == other.DefaultRender ||
                     DefaultRender != null &&
                     DefaultRender.Equals(other.DefaultRender)
                 ) &&
                 (
                     Realm == other.Realm ||
                     Realm != null &&
                     Realm.Equals(other.Realm)
                 ) &&
                 (
                     Username == other.Username ||
                     Username != null &&
                     Username.Equals(other.Username)
                 ) &&
                 (
                     Password == other.Password ||
                     Password != null &&
                     Password.Equals(other.Password)
                 ) &&
                 (
                     Category == other.Category ||
                     Category != null &&
                     Category.Equals(other.Category)
                 ) &&
                 (
                     Locale == other.Locale ||
                     Locale != null &&
                     Locale.Equals(other.Locale)
                 ) &&
                 (
                     Loglevel == other.Loglevel ||
                     Loglevel != null &&
                     Loglevel.Equals(other.Loglevel)
                 ) &&
                 (
                     Plugins == other.Plugins ||
                     Plugins != null &&
                     Plugins.Equals(other.Plugins)
                 ));
        }