/// <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); }
/// <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); }
/// <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); } }
/// <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); } }
/// <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()); }
/// <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) )); }