// // Licensed under the MIT License. See LICENSE file in the project root for full license information. // //------------------------------------------------------------------------------ // // This source code was auto-generated by a roslyn code generator. // //------------------------------------------------------------------------------ // ReSharper disable All namespace MUnique.OpenMU.Persistence.BasicModel; using MUnique.OpenMU.Persistence.Json; /// /// A plain implementation of . /// public partial class ItemDropItemGroup : MUnique.OpenMU.DataModel.Configuration.ItemDropItemGroup, IIdentifiable, IConvertibleTo { /// /// Gets or sets the identifier of this instance. /// public Guid Id { get; set; } /// /// Gets the raw collection of . /// [System.Text.Json.Serialization.JsonPropertyName("possibleItems")] public ICollection RawPossibleItems { get; } = new List(); /// [System.Text.Json.Serialization.JsonIgnore] public override ICollection PossibleItems { get => base.PossibleItems ??= new CollectionAdapter(this.RawPossibleItems); protected set { this.PossibleItems.Clear(); foreach (var item in value) { this.PossibleItems.Add(item); } } } /// /// Gets the raw object of . /// [System.Text.Json.Serialization.JsonPropertyName("monster")] public MonsterDefinition RawMonster { get => base.Monster as MonsterDefinition; set => base.Monster = value; } /// [System.Text.Json.Serialization.JsonIgnore] public override MUnique.OpenMU.DataModel.Configuration.MonsterDefinition Monster { get => base.Monster; set => base.Monster = value; } /// public override MUnique.OpenMU.DataModel.Configuration.ItemDropItemGroup Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration) { var clone = new ItemDropItemGroup(); clone.AssignValuesOf(this, gameConfiguration); return clone; } /// public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.ItemDropItemGroup other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration) { base.AssignValuesOf(other, gameConfiguration); this.Id = other.GetId(); } /// public override bool Equals(object obj) { var baseObject = obj as IIdentifiable; if (baseObject != null) { return baseObject.Id == this.Id; } return base.Equals(obj); } /// public override int GetHashCode() { return this.Id.GetHashCode(); } /// public ItemDropItemGroup Convert() => this; }