baseline: OpenMU upstream b5a0961 (fresh source)

This commit is contained in:
Acentech Dev
2026-07-14 19:00:35 +03:00
parent 450402e47d
commit 36fc125d5c
11968 changed files with 748705 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
// <copyright file="AccountDataSource.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
namespace MUnique.OpenMU.Persistence;
using System.Collections;
using Microsoft.Extensions.Logging;
using MUnique.OpenMU.AttributeSystem;
using MUnique.OpenMU.DataModel.Configuration;
using MUnique.OpenMU.DataModel.Entities;
using MUnique.OpenMU.Interfaces;
/// <summary>
/// Implementation of a <see cref="IDataSource{Account}"/>.
/// </summary>
public sealed class AccountDataSource : DataSourceBase<Account>
{
private static readonly IReadOnlyDictionary<Type, Func<Account, IEnumerable>> Enumerables = new Dictionary<Type, Func<Account, IEnumerable>>
{
{ typeof(Account), a => Enumerable.Repeat(a, 1) },
{ typeof(Character), a => a.Characters },
{ typeof(ItemStorage), a => a.Characters.Select(c => c.Inventory).Concat(Enumerable.Repeat(a.Vault, 1)).Where(i => i is not null) },
{ typeof(Item), a => a.Characters.SelectMany(c => c.Inventory?.Items ?? Enumerable.Empty<Item>()).Concat(a.Vault?.Items ?? Enumerable.Empty<Item>()) },
{ typeof(StatAttribute), a => a.Characters.SelectMany(c => c.Attributes) },
{ typeof(LetterHeader), a => a.Characters.SelectMany(c => c.Letters) },
{ typeof(SkillEntry), a => a.Characters.SelectMany(c => c.LearnedSkills) },
{ typeof(CharacterQuestState), a => a.Characters.SelectMany(c => c.QuestStates) },
{ typeof(QuestMonsterKillRequirementState), a => a.Characters.SelectMany(c => c.QuestStates).SelectMany(q => q.RequirementStates) },
}.AsReadOnly();
private readonly IDataSource<GameConfiguration> _gameConfigurationSource;
/// <summary>
/// Initializes a new instance of the <see cref="AccountDataSource"/> class.
/// </summary>
/// <param name="logger">The logger.</param>
/// <param name="persistenceContextProvider">The persistence context provider.</param>
/// <param name="gameConfigurationSource">The game configuration source.</param>
public AccountDataSource(
ILogger<DataSourceBase<Account>> logger,
IPersistenceContextProvider persistenceContextProvider,
IDataSource<GameConfiguration> gameConfigurationSource)
: base(logger, persistenceContextProvider)
{
this._gameConfigurationSource = gameConfigurationSource;
}
/// <inheritdoc />
protected override IReadOnlyDictionary<Type, Func<Account, IEnumerable>> TypeToEnumerables => Enumerables;
/// <inheritdoc />
protected override async ValueTask<IContext> CreateNewContextAsync()
{
var gameConfiguration = await this._gameConfigurationSource.GetOwnerAsync(Guid.Empty).ConfigureAwait(false);
return this.ContextProvider.CreateNewPlayerContext(gameConfiguration);
}
}

View File

@@ -0,0 +1,132 @@
// <copyright file="BaseRepositoryProvider.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
namespace MUnique.OpenMU.Persistence;
/// <summary>
/// The base repository provider.
/// </summary>
public class BaseRepositoryProvider : IRepositoryProvider
{
private bool _isInitialized;
/// <summary>
/// Gets the repositories for each entity type.
/// </summary>
protected IDictionary<Type, object> Repositories { get; } = new Dictionary<Type, object>();
/// <summary>
/// Gets the repository of the specified generic type.
/// </summary>
/// <typeparam name="T">The generic type.</typeparam>
/// <returns>The repository of the specified generic type.</returns>
public virtual IRepository<T>? GetRepository<T>()
where T : class
{
var repository = this.GetRepository(typeof(T));
if (repository is null)
{
return null;
}
// TODO: Not always an adapter is required. Also, the adapter could be cached.
return new RepositoryAdapter<T>(repository);
}
/// <summary>
/// Gets the repository of the specified generic type.
/// </summary>
/// <typeparam name="T">The generic type.</typeparam>
/// <typeparam name="TRepository">The type of the repository.</typeparam>
/// <returns>
/// The repository of the specified generic type.
/// </returns>
public TRepository? GetRepository<T, TRepository>()
where T : class
where TRepository : IRepository
{
return (TRepository?)this.GetRepository(typeof(T));
}
/// <summary>
/// Gets the repository of the specified type.
/// </summary>
/// <param name="objectType">Type of the object.</param>
/// <returns>The repository of the specified type.</returns>
public virtual IRepository? GetRepository(Type objectType)
{
var repository = this.InternalGetRepository(objectType);
return repository;
}
/// <summary>
/// Initializes this instance.
/// </summary>
protected virtual void Initialize()
{
}
/// <summary>
/// Gets the repository of the specified type.
/// </summary>
/// <param name="objectType">Type of the object.</param>
/// <returns>The repository of the specified type.</returns>
protected IRepository? InternalGetRepository(Type objectType)
{
this.EnsureInitialized();
Type? currentSearchType = objectType;
do
{
if (currentSearchType is null)
{
break;
}
if (this.Repositories.TryGetValue(currentSearchType, out var repository))
{
return repository as IRepository;
}
if (currentSearchType.Name != currentSearchType.BaseType?.Name)
{
break;
}
currentSearchType = currentSearchType.BaseType;
}
while (currentSearchType != typeof(object));
return null;
}
/// <summary>
/// Registers the repository.
/// </summary>
/// <typeparam name="T">The generic type which the repository handles.</typeparam>
/// <param name="repository">The repository.</param>
protected void RegisterRepository<T>(IRepository<T> repository)
where T : class
{
this.RegisterRepository(typeof(T), repository);
}
/// <summary>
/// Registers the repository.
/// </summary>
/// <param name="type">The generic type which the repository handles.</param>
/// <param name="repository">The repository.</param>
protected virtual void RegisterRepository(Type type, IRepository repository)
{
this.Repositories.Add(type, repository);
}
private void EnsureInitialized()
{
if (!this._isInitialized)
{
this.Initialize();
this._isInitialized = true;
}
}
}

View File

@@ -0,0 +1,130 @@
// <copyright file="Account.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="Account"/>.
/// </summary>
public partial class Account : MUnique.OpenMU.DataModel.Entities.Account, IIdentifiable, IConvertibleTo<Account>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="UnlockedCharacterClasses" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("unlockedCharacterClasses")]
public ICollection<CharacterClass> RawUnlockedCharacterClasses { get; } = new List<CharacterClass>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.CharacterClass> UnlockedCharacterClasses
{
get => base.UnlockedCharacterClasses ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.CharacterClass, CharacterClass>(this.RawUnlockedCharacterClasses);
protected set
{
this.UnlockedCharacterClasses.Clear();
foreach (var item in value)
{
this.UnlockedCharacterClasses.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="Characters" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("characters")]
public ICollection<Character> RawCharacters { get; } = new List<Character>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Entities.Character> Characters
{
get => base.Characters ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Entities.Character, Character>(this.RawCharacters);
protected set
{
this.Characters.Clear();
foreach (var item in value)
{
this.Characters.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="Attributes" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("attributes")]
public ICollection<StatAttribute> RawAttributes { get; } = new List<StatAttribute>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.AttributeSystem.StatAttribute> Attributes
{
get => base.Attributes ??= new CollectionAdapter<MUnique.OpenMU.AttributeSystem.StatAttribute, StatAttribute>(this.RawAttributes);
protected set
{
this.Attributes.Clear();
foreach (var item in value)
{
this.Attributes.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="Vault" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("vault")]
public ItemStorage RawVault
{
get => base.Vault as ItemStorage;
set => base.Vault = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Entities.ItemStorage Vault
{
get => base.Vault;
set => base.Vault = value;
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public Account Convert() => this;
}

View File

@@ -0,0 +1,88 @@
// <copyright file="AppearanceData.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="AppearanceData"/>.
/// </summary>
public partial class AppearanceData : MUnique.OpenMU.DataModel.Entities.AppearanceData, IIdentifiable, IConvertibleTo<AppearanceData>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="EquippedItems" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("equippedItems")]
public ICollection<ItemAppearance> RawEquippedItems { get; } = new List<ItemAppearance>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Entities.ItemAppearance> EquippedItems
{
get => base.EquippedItems ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Entities.ItemAppearance, ItemAppearance>(this.RawEquippedItems);
protected set
{
this.EquippedItems.Clear();
foreach (var item in value)
{
this.EquippedItems.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="CharacterClass" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("characterClass")]
public CharacterClass RawCharacterClass
{
get => base.CharacterClass as CharacterClass;
set => base.CharacterClass = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.CharacterClass CharacterClass
{
get => base.CharacterClass;
set => base.CharacterClass = value;
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public AppearanceData Convert() => this;
}

View File

@@ -0,0 +1,63 @@
// <copyright file="AreaSkillSettings.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="AreaSkillSettings"/>.
/// </summary>
public partial class AreaSkillSettings : MUnique.OpenMU.DataModel.Configuration.AreaSkillSettings, IIdentifiable, IConvertibleTo<AreaSkillSettings>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.AreaSkillSettings Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new AreaSkillSettings();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.AreaSkillSettings other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public AreaSkillSettings Convert() => this;
}

View File

@@ -0,0 +1,42 @@
// <copyright file="AttributeDefinition.Custom.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.DataModel;
/// <summary>
/// A plain implementation of <see cref="MUnique.OpenMU.AttributeSystem.AttributeDefinition"/>.
/// </summary>
public partial class AttributeDefinition :
IAssignable,
IAssignable<MUnique.OpenMU.AttributeSystem.AttributeDefinition>,
ICloneable<MUnique.OpenMU.AttributeSystem.AttributeDefinition>
{
/// <inheritdoc />
public virtual AttributeSystem.AttributeDefinition Clone(DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new AttributeDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public virtual void AssignValuesOf(object other, DataModel.Configuration.GameConfiguration gameConfiguration)
{
if (other is AttributeSystem.AttributeDefinition typedOther)
{
this.AssignValuesOf(typedOther, gameConfiguration);
}
}
/// <inheritdoc />
public virtual void AssignValuesOf(AttributeSystem.AttributeDefinition other, DataModel.Configuration.GameConfiguration gameConfiguration)
{
this.Id = other.Id;
this.Designation = other.Designation;
this.Description = other.Description;
this.MaximumValue = other.MaximumValue;
}
}

View File

@@ -0,0 +1,56 @@
// <copyright file="AttributeDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="AttributeDefinition"/>.
/// </summary>
public partial class AttributeDefinition : MUnique.OpenMU.AttributeSystem.AttributeDefinition, IIdentifiable, IConvertibleTo<AttributeDefinition>
{
/// <inheritdoc />
public AttributeDefinition()
{
}
/// <inheritdoc />
public AttributeDefinition(System.Guid id, System.String designation, System.String description)
: base(id, designation, description)
{
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public AttributeDefinition Convert() => this;
}

View File

@@ -0,0 +1,44 @@
// <copyright file="AttributeRelationship.Custom.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.DataModel;
/// <summary>
/// A plain implementation of <see cref="MUnique.OpenMU.AttributeSystem.AttributeRelationship"/>.
/// </summary>
public partial class AttributeRelationship :
IAssignable,
IAssignable<MUnique.OpenMU.AttributeSystem.AttributeRelationship>,
ICloneable<MUnique.OpenMU.AttributeSystem.AttributeRelationship>
{
/// <inheritdoc />
public virtual AttributeSystem.AttributeRelationship Clone(DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new AttributeRelationship();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public virtual void AssignValuesOf(object other, DataModel.Configuration.GameConfiguration gameConfiguration)
{
if (other is AttributeSystem.AttributeRelationship typedOther)
{
this.AssignValuesOf(typedOther, gameConfiguration);
}
}
/// <inheritdoc />
public virtual void AssignValuesOf(AttributeSystem.AttributeRelationship other, DataModel.Configuration.GameConfiguration gameConfiguration)
{
this.InputAttribute = gameConfiguration.Attributes.FirstOrDefault(a => a.Id == other.InputAttribute?.Id) ?? other.InputAttribute;
this.OperandAttribute = gameConfiguration.Attributes.FirstOrDefault(a => a.Id == other.OperandAttribute?.Id) ?? other.OperandAttribute;
this.TargetAttribute = gameConfiguration.Attributes.FirstOrDefault(a => a.Id == other.TargetAttribute?.Id) ?? other.TargetAttribute;
this.InputOperand = other.InputOperand;
this.InputOperator = other.InputOperator;
this.AggregateType = other.AggregateType;
}
}

View File

@@ -0,0 +1,125 @@
// <copyright file="AttributeRelationship.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="AttributeRelationship"/>.
/// </summary>
public partial class AttributeRelationship : MUnique.OpenMU.AttributeSystem.AttributeRelationship, IIdentifiable, IConvertibleTo<AttributeRelationship>
{
/// <inheritdoc />
public AttributeRelationship()
{
}
/// <inheritdoc />
public AttributeRelationship(MUnique.OpenMU.AttributeSystem.AttributeDefinition targetAttribute, System.Single inputOperand, MUnique.OpenMU.AttributeSystem.AttributeDefinition inputAttribute, MUnique.OpenMU.AttributeSystem.AggregateType aggregateType)
: base(targetAttribute, inputOperand, inputAttribute, aggregateType)
{
}
/// <inheritdoc />
public AttributeRelationship(MUnique.OpenMU.AttributeSystem.AttributeDefinition targetAttribute, MUnique.OpenMU.AttributeSystem.AttributeDefinition inputOperand, MUnique.OpenMU.AttributeSystem.AttributeDefinition inputAttribute, MUnique.OpenMU.AttributeSystem.AggregateType aggregateType)
: base(targetAttribute, inputOperand, inputAttribute, aggregateType)
{
}
/// <inheritdoc />
public AttributeRelationship(MUnique.OpenMU.AttributeSystem.AttributeDefinition targetAttribute, System.Single inputOperand, MUnique.OpenMU.AttributeSystem.AttributeDefinition inputAttribute, MUnique.OpenMU.AttributeSystem.InputOperator inputOperator, MUnique.OpenMU.AttributeSystem.AttributeDefinition operandAttribute, MUnique.OpenMU.AttributeSystem.AggregateType aggregateType)
: base(targetAttribute, inputOperand, inputAttribute, inputOperator, operandAttribute, aggregateType)
{
}
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="TargetAttribute" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("targetAttribute")]
public AttributeDefinition RawTargetAttribute
{
get => base.TargetAttribute as AttributeDefinition;
set => base.TargetAttribute = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.AttributeSystem.AttributeDefinition TargetAttribute
{
get => base.TargetAttribute;
set => base.TargetAttribute = value;
}
/// <summary>
/// Gets the raw object of <see cref="InputAttribute" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("inputAttribute")]
public AttributeDefinition RawInputAttribute
{
get => base.InputAttribute as AttributeDefinition;
set => base.InputAttribute = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.AttributeSystem.AttributeDefinition InputAttribute
{
get => base.InputAttribute;
set => base.InputAttribute = value;
}
/// <summary>
/// Gets the raw object of <see cref="OperandAttribute" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("operandAttribute")]
public AttributeDefinition RawOperandAttribute
{
get => base.OperandAttribute as AttributeDefinition;
set => base.OperandAttribute = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.AttributeSystem.AttributeDefinition OperandAttribute
{
get => base.OperandAttribute;
set => base.OperandAttribute = value;
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public AttributeRelationship Convert() => this;
}

View File

@@ -0,0 +1,81 @@
// <copyright file="AttributeRequirement.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="AttributeRequirement"/>.
/// </summary>
public partial class AttributeRequirement : MUnique.OpenMU.DataModel.Configuration.Items.AttributeRequirement, IIdentifiable, IConvertibleTo<AttributeRequirement>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Attribute" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("attribute")]
public AttributeDefinition RawAttribute
{
get => base.Attribute as AttributeDefinition;
set => base.Attribute = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.AttributeSystem.AttributeDefinition Attribute
{
get => base.Attribute;
set => base.Attribute = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Items.AttributeRequirement Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new AttributeRequirement();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Items.AttributeRequirement other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public AttributeRequirement Convert() => this;
}

View File

@@ -0,0 +1,117 @@
// <copyright file="BattleZoneDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="BattleZoneDefinition"/>.
/// </summary>
public partial class BattleZoneDefinition : MUnique.OpenMU.DataModel.Configuration.BattleZoneDefinition, IIdentifiable, IConvertibleTo<BattleZoneDefinition>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Ground" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("ground")]
public Rectangle RawGround
{
get => base.Ground as Rectangle;
set => base.Ground = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Rectangle Ground
{
get => base.Ground;
set => base.Ground = value;
}
/// <summary>
/// Gets the raw object of <see cref="LeftGoal" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("leftGoal")]
public Rectangle RawLeftGoal
{
get => base.LeftGoal as Rectangle;
set => base.LeftGoal = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Rectangle LeftGoal
{
get => base.LeftGoal;
set => base.LeftGoal = value;
}
/// <summary>
/// Gets the raw object of <see cref="RightGoal" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("rightGoal")]
public Rectangle RawRightGoal
{
get => base.RightGoal as Rectangle;
set => base.RightGoal = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Rectangle RightGoal
{
get => base.RightGoal;
set => base.RightGoal = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.BattleZoneDefinition Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new BattleZoneDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.BattleZoneDefinition other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public BattleZoneDefinition Convert() => this;
}

View File

@@ -0,0 +1,205 @@
// <copyright file="Character.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="Character"/>.
/// </summary>
public partial class Character : MUnique.OpenMU.DataModel.Entities.Character, IIdentifiable, IConvertibleTo<Character>
{
/// <summary>
/// Gets the raw collection of <see cref="Attributes" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("attributes")]
public ICollection<StatAttribute> RawAttributes { get; } = new List<StatAttribute>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.AttributeSystem.StatAttribute> Attributes
{
get => base.Attributes ??= new CollectionAdapter<MUnique.OpenMU.AttributeSystem.StatAttribute, StatAttribute>(this.RawAttributes);
protected set
{
this.Attributes.Clear();
foreach (var item in value)
{
this.Attributes.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="Letters" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("letters")]
public IList<LetterHeader> RawLetters { get; } = new List<LetterHeader>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override IList<MUnique.OpenMU.Interfaces.LetterHeader> Letters
{
get => base.Letters ??= new ListAdapter<MUnique.OpenMU.Interfaces.LetterHeader, LetterHeader>(this.RawLetters);
protected set
{
this.Letters.Clear();
foreach (var item in value)
{
this.Letters.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="LearnedSkills" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("learnedSkills")]
public ICollection<SkillEntry> RawLearnedSkills { get; } = new List<SkillEntry>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Entities.SkillEntry> LearnedSkills
{
get => base.LearnedSkills ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Entities.SkillEntry, SkillEntry>(this.RawLearnedSkills);
protected set
{
this.LearnedSkills.Clear();
foreach (var item in value)
{
this.LearnedSkills.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="DropItemGroups" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("dropItemGroups")]
public ICollection<DropItemGroup> RawDropItemGroups { get; } = new List<DropItemGroup>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.DropItemGroup> DropItemGroups
{
get => base.DropItemGroups ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.DropItemGroup, DropItemGroup>(this.RawDropItemGroups);
protected set
{
this.DropItemGroups.Clear();
foreach (var item in value)
{
this.DropItemGroups.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="QuestStates" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("questStates")]
public ICollection<CharacterQuestState> RawQuestStates { get; } = new List<CharacterQuestState>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Entities.CharacterQuestState> QuestStates
{
get => base.QuestStates ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Entities.CharacterQuestState, CharacterQuestState>(this.RawQuestStates);
protected set
{
this.QuestStates.Clear();
foreach (var item in value)
{
this.QuestStates.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="CharacterClass" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("characterClass")]
public CharacterClass RawCharacterClass
{
get => base.CharacterClass as CharacterClass;
set => base.CharacterClass = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.CharacterClass CharacterClass
{
get => base.CharacterClass;
set => base.CharacterClass = value;
}
/// <summary>
/// Gets the raw object of <see cref="CurrentMap" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("currentMap")]
public GameMapDefinition RawCurrentMap
{
get => base.CurrentMap as GameMapDefinition;
set => base.CurrentMap = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.GameMapDefinition CurrentMap
{
get => base.CurrentMap;
set => base.CurrentMap = value;
}
/// <summary>
/// Gets the raw object of <see cref="Inventory" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("inventory")]
public ItemStorage RawInventory
{
get => base.Inventory as ItemStorage;
set => base.Inventory = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Entities.ItemStorage Inventory
{
get => base.Inventory;
set => base.Inventory = value;
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public Character Convert() => this;
}

View File

@@ -0,0 +1,180 @@
// <copyright file="CharacterClass.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="CharacterClass"/>.
/// </summary>
public partial class CharacterClass : MUnique.OpenMU.DataModel.Configuration.CharacterClass, IIdentifiable, IConvertibleTo<CharacterClass>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="StatAttributes" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("statAttributes")]
public ICollection<StatAttributeDefinition> RawStatAttributes { get; } = new List<StatAttributeDefinition>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.StatAttributeDefinition> StatAttributes
{
get => base.StatAttributes ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.StatAttributeDefinition, StatAttributeDefinition>(this.RawStatAttributes);
protected set
{
this.StatAttributes.Clear();
foreach (var item in value)
{
this.StatAttributes.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="AttributeCombinations" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("attributeCombinations")]
public ICollection<AttributeRelationship> RawAttributeCombinations { get; } = new List<AttributeRelationship>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.AttributeSystem.AttributeRelationship> AttributeCombinations
{
get => base.AttributeCombinations ??= new CollectionAdapter<MUnique.OpenMU.AttributeSystem.AttributeRelationship, AttributeRelationship>(this.RawAttributeCombinations);
protected set
{
this.AttributeCombinations.Clear();
foreach (var item in value)
{
this.AttributeCombinations.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="BaseAttributeValues" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("baseAttributeValues")]
public ICollection<ConstValueAttribute> RawBaseAttributeValues { get; } = new List<ConstValueAttribute>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.AttributeSystem.ConstValueAttribute> BaseAttributeValues
{
get => base.BaseAttributeValues ??= new CollectionAdapter<MUnique.OpenMU.AttributeSystem.ConstValueAttribute, ConstValueAttribute>(this.RawBaseAttributeValues);
protected set
{
this.BaseAttributeValues.Clear();
foreach (var item in value)
{
this.BaseAttributeValues.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="NextGenerationClass" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("nextGenerationClass")]
public CharacterClass RawNextGenerationClass
{
get => base.NextGenerationClass as CharacterClass;
set => base.NextGenerationClass = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.CharacterClass NextGenerationClass
{
get => base.NextGenerationClass;
set => base.NextGenerationClass = value;
}
/// <summary>
/// Gets the raw object of <see cref="HomeMap" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("homeMap")]
public GameMapDefinition RawHomeMap
{
get => base.HomeMap as GameMapDefinition;
set => base.HomeMap = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.GameMapDefinition HomeMap
{
get => base.HomeMap;
set => base.HomeMap = value;
}
/// <summary>
/// Gets the raw object of <see cref="ComboDefinition" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("comboDefinition")]
public SkillComboDefinition RawComboDefinition
{
get => base.ComboDefinition as SkillComboDefinition;
set => base.ComboDefinition = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.SkillComboDefinition ComboDefinition
{
get => base.ComboDefinition;
set => base.ComboDefinition = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.CharacterClass Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new CharacterClass();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.CharacterClass other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public CharacterClass Convert() => this;
}

View File

@@ -0,0 +1,106 @@
// <copyright file="CharacterQuestState.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="CharacterQuestState"/>.
/// </summary>
public partial class CharacterQuestState : MUnique.OpenMU.DataModel.Entities.CharacterQuestState, IIdentifiable, IConvertibleTo<CharacterQuestState>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="RequirementStates" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("requirementStates")]
public ICollection<QuestMonsterKillRequirementState> RawRequirementStates { get; } = new List<QuestMonsterKillRequirementState>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Entities.QuestMonsterKillRequirementState> RequirementStates
{
get => base.RequirementStates ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Entities.QuestMonsterKillRequirementState, QuestMonsterKillRequirementState>(this.RawRequirementStates);
protected set
{
this.RequirementStates.Clear();
foreach (var item in value)
{
this.RequirementStates.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="LastFinishedQuest" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("lastFinishedQuest")]
public QuestDefinition RawLastFinishedQuest
{
get => base.LastFinishedQuest as QuestDefinition;
set => base.LastFinishedQuest = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Quests.QuestDefinition LastFinishedQuest
{
get => base.LastFinishedQuest;
set => base.LastFinishedQuest = value;
}
/// <summary>
/// Gets the raw object of <see cref="ActiveQuest" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("activeQuest")]
public QuestDefinition RawActiveQuest
{
get => base.ActiveQuest as QuestDefinition;
set => base.ActiveQuest = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Quests.QuestDefinition ActiveQuest
{
get => base.ActiveQuest;
set => base.ActiveQuest = value;
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public CharacterQuestState Convert() => this;
}

View File

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

View File

@@ -0,0 +1,67 @@
// <copyright file="ChatServerEndpoint.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ChatServerEndpoint"/>.
/// </summary>
public partial class ChatServerEndpoint : MUnique.OpenMU.DataModel.Configuration.ChatServerEndpoint, IIdentifiable, IConvertibleTo<ChatServerEndpoint>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Client" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("client")]
public GameClientDefinition RawClient
{
get => base.Client as GameClientDefinition;
set => base.Client = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.GameClientDefinition Client
{
get => base.Client;
set => base.Client = value;
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ChatServerEndpoint Convert() => this;
}

View File

@@ -0,0 +1,81 @@
// <copyright file="CombinationBonusRequirement.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="CombinationBonusRequirement"/>.
/// </summary>
public partial class CombinationBonusRequirement : MUnique.OpenMU.DataModel.Configuration.Items.CombinationBonusRequirement, IIdentifiable, IConvertibleTo<CombinationBonusRequirement>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="OptionType" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("optionType")]
public ItemOptionType RawOptionType
{
get => base.OptionType as ItemOptionType;
set => base.OptionType = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionType OptionType
{
get => base.OptionType;
set => base.OptionType = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Items.CombinationBonusRequirement Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new CombinationBonusRequirement();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Items.CombinationBonusRequirement other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public CombinationBonusRequirement Convert() => this;
}

View File

@@ -0,0 +1,49 @@
// <copyright file="ConfigurationUpdate.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ConfigurationUpdate"/>.
/// </summary>
public partial class ConfigurationUpdate : MUnique.OpenMU.DataModel.Configuration.ConfigurationUpdate, IIdentifiable, IConvertibleTo<ConfigurationUpdate>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ConfigurationUpdate Convert() => this;
}

View File

@@ -0,0 +1,49 @@
// <copyright file="ConfigurationUpdateState.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ConfigurationUpdateState"/>.
/// </summary>
public partial class ConfigurationUpdateState : MUnique.OpenMU.DataModel.Configuration.ConfigurationUpdateState, IIdentifiable, IConvertibleTo<ConfigurationUpdateState>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ConfigurationUpdateState Convert() => this;
}

View File

@@ -0,0 +1,78 @@
// <copyright file="ConnectServerDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ConnectServerDefinition"/>.
/// </summary>
public partial class ConnectServerDefinition : MUnique.OpenMU.DataModel.Configuration.ConnectServerDefinition, IIdentifiable, IConvertibleTo<ConnectServerDefinition>
{
/// <summary>
/// Gets the raw object of <see cref="Client" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("client")]
public GameClientDefinition RawClient
{
get => base.Client as GameClientDefinition;
set => base.Client = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.GameClientDefinition Client
{
get => base.Client;
set => base.Client = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.ConnectServerDefinition Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new ConnectServerDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.ConnectServerDefinition other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ConnectServerDefinition Convert() => this;
}

View File

@@ -0,0 +1,73 @@
// <copyright file="ConstValueAttribute.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ConstValueAttribute"/>.
/// </summary>
public partial class ConstValueAttribute : MUnique.OpenMU.AttributeSystem.ConstValueAttribute, IIdentifiable, IConvertibleTo<ConstValueAttribute>
{
/// <inheritdoc />
public ConstValueAttribute(System.Single value, MUnique.OpenMU.AttributeSystem.AttributeDefinition definition)
: base(value, definition)
{
}
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Definition" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("definition")]
public AttributeDefinition RawDefinition
{
get => base.Definition as AttributeDefinition;
set => base.Definition = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.AttributeSystem.AttributeDefinition Definition
{
get => base.Definition;
protected set => base.Definition = value;
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ConstValueAttribute Convert() => this;
}

View File

@@ -0,0 +1,43 @@
// <copyright file="ConstValueAttribute.custom.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
namespace MUnique.OpenMU.Persistence.BasicModel;
using System.Text.Json.Serialization;
/// <summary>
/// A plain implementation of <see cref="MUnique.OpenMU.AttributeSystem.ConstValueAttribute"/>.
/// </summary>
public partial class ConstValueAttribute
{
/// <summary>
/// Initializes a new instance of the <see cref="ConstValueAttribute"/> class.
/// </summary>
public ConstValueAttribute()
{
}
/// <summary>
/// Gets or sets the value.
/// </summary>
/// <remarks>
/// Required, because we need a setter for the json deserialization.
/// Because we just can't add a setter to an existing property, we have to add a new one.
/// </remarks>
[JsonPropertyName(nameof(Value))]
public float RawValue
{
get => base.Value;
set => base.Value = value;
}
/// <summary>
/// Gets the value.
/// </summary>
/// <remarks>
/// Reintroduced to mark it with the <see cref="JsonIgnoreAttribute"/>.
/// </remarks>
[JsonIgnore]
public new float Value => base.Value;
}

View File

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

View File

@@ -0,0 +1,117 @@
// <copyright file="DuelArea.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="DuelArea"/>.
/// </summary>
public partial class DuelArea : MUnique.OpenMU.DataModel.Configuration.DuelArea, IIdentifiable, IConvertibleTo<DuelArea>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="FirstPlayerGate" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("firstPlayerGate")]
public ExitGate RawFirstPlayerGate
{
get => base.FirstPlayerGate as ExitGate;
set => base.FirstPlayerGate = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.ExitGate FirstPlayerGate
{
get => base.FirstPlayerGate;
set => base.FirstPlayerGate = value;
}
/// <summary>
/// Gets the raw object of <see cref="SecondPlayerGate" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("secondPlayerGate")]
public ExitGate RawSecondPlayerGate
{
get => base.SecondPlayerGate as ExitGate;
set => base.SecondPlayerGate = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.ExitGate SecondPlayerGate
{
get => base.SecondPlayerGate;
set => base.SecondPlayerGate = value;
}
/// <summary>
/// Gets the raw object of <see cref="SpectatorsGate" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("spectatorsGate")]
public ExitGate RawSpectatorsGate
{
get => base.SpectatorsGate as ExitGate;
set => base.SpectatorsGate = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.ExitGate SpectatorsGate
{
get => base.SpectatorsGate;
set => base.SpectatorsGate = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.DuelArea Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new DuelArea();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.DuelArea other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public DuelArea Convert() => this;
}

View File

@@ -0,0 +1,102 @@
// <copyright file="DuelConfiguration.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="DuelConfiguration"/>.
/// </summary>
public partial class DuelConfiguration : MUnique.OpenMU.DataModel.Configuration.DuelConfiguration, IIdentifiable, IConvertibleTo<DuelConfiguration>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="DuelAreas" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("duelAreas")]
public ICollection<DuelArea> RawDuelAreas { get; } = new List<DuelArea>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.DuelArea> DuelAreas
{
get => base.DuelAreas ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.DuelArea, DuelArea>(this.RawDuelAreas);
protected set
{
this.DuelAreas.Clear();
foreach (var item in value)
{
this.DuelAreas.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="Exit" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("exit")]
public ExitGate RawExit
{
get => base.Exit as ExitGate;
set => base.Exit = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.ExitGate Exit
{
get => base.Exit;
set => base.Exit = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.DuelConfiguration Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new DuelConfiguration();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.DuelConfiguration other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public DuelConfiguration Convert() => this;
}

View File

@@ -0,0 +1,81 @@
// <copyright file="EnterGate.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="EnterGate"/>.
/// </summary>
public partial class EnterGate : MUnique.OpenMU.DataModel.Configuration.EnterGate, IIdentifiable, IConvertibleTo<EnterGate>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="TargetGate" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("targetGate")]
public ExitGate RawTargetGate
{
get => base.TargetGate as ExitGate;
set => base.TargetGate = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.ExitGate TargetGate
{
get => base.TargetGate;
set => base.TargetGate = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.EnterGate Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new EnterGate();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.EnterGate other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public EnterGate Convert() => this;
}

View File

@@ -0,0 +1,81 @@
// <copyright file="ExitGate.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ExitGate"/>.
/// </summary>
public partial class ExitGate : MUnique.OpenMU.DataModel.Configuration.ExitGate, IIdentifiable, IConvertibleTo<ExitGate>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Map" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("map")]
public GameMapDefinition RawMap
{
get => base.Map as GameMapDefinition;
set => base.Map = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.GameMapDefinition Map
{
get => base.Map;
set => base.Map = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.ExitGate Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new ExitGate();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.ExitGate other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ExitGate Convert() => this;
}

View File

@@ -0,0 +1,46 @@
// <copyright file="Friend.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="Friend"/>.
/// </summary>
public partial class Friend : MUnique.OpenMU.Interfaces.Friend, IIdentifiable, IConvertibleTo<Friend>
{
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public Friend Convert() => this;
}

View File

@@ -0,0 +1,63 @@
// <copyright file="GameClientDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="GameClientDefinition"/>.
/// </summary>
public partial class GameClientDefinition : MUnique.OpenMU.DataModel.Configuration.GameClientDefinition, IIdentifiable, IConvertibleTo<GameClientDefinition>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.GameClientDefinition Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new GameClientDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.GameClientDefinition other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public GameClientDefinition Convert() => this;
}

View File

@@ -0,0 +1,522 @@
// <copyright file="GameConfiguration.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="GameConfiguration"/>.
/// </summary>
public partial class GameConfiguration : MUnique.OpenMU.DataModel.Configuration.GameConfiguration, IIdentifiable, IConvertibleTo<GameConfiguration>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="JewelMixes" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("jewelMixes")]
public ICollection<JewelMix> RawJewelMixes { get; } = new List<JewelMix>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.JewelMix> JewelMixes
{
get => base.JewelMixes ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.JewelMix, JewelMix>(this.RawJewelMixes);
protected set
{
this.JewelMixes.Clear();
foreach (var item in value)
{
this.JewelMixes.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="WarpList" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("warpList")]
public ICollection<WarpInfo> RawWarpList { get; } = new List<WarpInfo>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.WarpInfo> WarpList
{
get => base.WarpList ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.WarpInfo, WarpInfo>(this.RawWarpList);
protected set
{
this.WarpList.Clear();
foreach (var item in value)
{
this.WarpList.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="DropItemGroups" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("dropItemGroups")]
public ICollection<DropItemGroup> RawDropItemGroups { get; } = new List<DropItemGroup>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.DropItemGroup> DropItemGroups
{
get => base.DropItemGroups ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.DropItemGroup, DropItemGroup>(this.RawDropItemGroups);
protected set
{
this.DropItemGroups.Clear();
foreach (var item in value)
{
this.DropItemGroups.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="Skills" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("skills")]
public ICollection<Skill> RawSkills { get; } = new List<Skill>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Skill> Skills
{
get => base.Skills ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Skill, Skill>(this.RawSkills);
protected set
{
this.Skills.Clear();
foreach (var item in value)
{
this.Skills.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="CharacterClasses" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("characterClasses")]
public ICollection<CharacterClass> RawCharacterClasses { get; } = new List<CharacterClass>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.CharacterClass> CharacterClasses
{
get => base.CharacterClasses ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.CharacterClass, CharacterClass>(this.RawCharacterClasses);
protected set
{
this.CharacterClasses.Clear();
foreach (var item in value)
{
this.CharacterClasses.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="Items" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("items")]
public ICollection<ItemDefinition> RawItems { get; } = new List<ItemDefinition>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.ItemDefinition> Items
{
get => base.Items ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.ItemDefinition, ItemDefinition>(this.RawItems);
protected set
{
this.Items.Clear();
foreach (var item in value)
{
this.Items.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="ItemLevelBonusTables" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemLevelBonusTables")]
public ICollection<ItemLevelBonusTable> RawItemLevelBonusTables { get; } = new List<ItemLevelBonusTable>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.ItemLevelBonusTable> ItemLevelBonusTables
{
get => base.ItemLevelBonusTables ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.ItemLevelBonusTable, ItemLevelBonusTable>(this.RawItemLevelBonusTables);
protected set
{
this.ItemLevelBonusTables.Clear();
foreach (var item in value)
{
this.ItemLevelBonusTables.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="ItemSlotTypes" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemSlotTypes")]
public ICollection<ItemSlotType> RawItemSlotTypes { get; } = new List<ItemSlotType>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.ItemSlotType> ItemSlotTypes
{
get => base.ItemSlotTypes ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.ItemSlotType, ItemSlotType>(this.RawItemSlotTypes);
protected set
{
this.ItemSlotTypes.Clear();
foreach (var item in value)
{
this.ItemSlotTypes.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="ItemOptions" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemOptions")]
public ICollection<ItemOptionDefinition> RawItemOptions { get; } = new List<ItemOptionDefinition>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionDefinition> ItemOptions
{
get => base.ItemOptions ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionDefinition, ItemOptionDefinition>(this.RawItemOptions);
protected set
{
this.ItemOptions.Clear();
foreach (var item in value)
{
this.ItemOptions.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="ItemOptionTypes" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemOptionTypes")]
public ICollection<ItemOptionType> RawItemOptionTypes { get; } = new List<ItemOptionType>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionType> ItemOptionTypes
{
get => base.ItemOptionTypes ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionType, ItemOptionType>(this.RawItemOptionTypes);
protected set
{
this.ItemOptionTypes.Clear();
foreach (var item in value)
{
this.ItemOptionTypes.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="ItemSetGroups" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemSetGroups")]
public ICollection<ItemSetGroup> RawItemSetGroups { get; } = new List<ItemSetGroup>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.ItemSetGroup> ItemSetGroups
{
get => base.ItemSetGroups ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.ItemSetGroup, ItemSetGroup>(this.RawItemSetGroups);
protected set
{
this.ItemSetGroups.Clear();
foreach (var item in value)
{
this.ItemSetGroups.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="ItemOptionCombinationBonuses" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemOptionCombinationBonuses")]
public ICollection<ItemOptionCombinationBonus> RawItemOptionCombinationBonuses { get; } = new List<ItemOptionCombinationBonus>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionCombinationBonus> ItemOptionCombinationBonuses
{
get => base.ItemOptionCombinationBonuses ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionCombinationBonus, ItemOptionCombinationBonus>(this.RawItemOptionCombinationBonuses);
protected set
{
this.ItemOptionCombinationBonuses.Clear();
foreach (var item in value)
{
this.ItemOptionCombinationBonuses.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="Maps" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("maps")]
public ICollection<GameMapDefinition> RawMaps { get; } = new List<GameMapDefinition>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.GameMapDefinition> Maps
{
get => base.Maps ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.GameMapDefinition, GameMapDefinition>(this.RawMaps);
protected set
{
this.Maps.Clear();
foreach (var item in value)
{
this.Maps.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="Monsters" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("monsters")]
public ICollection<MonsterDefinition> RawMonsters { get; } = new List<MonsterDefinition>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.MonsterDefinition> Monsters
{
get => base.Monsters ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.MonsterDefinition, MonsterDefinition>(this.RawMonsters);
protected set
{
this.Monsters.Clear();
foreach (var item in value)
{
this.Monsters.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="Attributes" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("attributes")]
public ICollection<AttributeDefinition> RawAttributes { get; } = new List<AttributeDefinition>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.AttributeSystem.AttributeDefinition> Attributes
{
get => base.Attributes ??= new CollectionAdapter<MUnique.OpenMU.AttributeSystem.AttributeDefinition, AttributeDefinition>(this.RawAttributes);
protected set
{
this.Attributes.Clear();
foreach (var item in value)
{
this.Attributes.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="MagicEffects" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("magicEffects")]
public ICollection<MagicEffectDefinition> RawMagicEffects { get; } = new List<MagicEffectDefinition>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.MagicEffectDefinition> MagicEffects
{
get => base.MagicEffects ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.MagicEffectDefinition, MagicEffectDefinition>(this.RawMagicEffects);
protected set
{
this.MagicEffects.Clear();
foreach (var item in value)
{
this.MagicEffects.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="MasterSkillRoots" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("masterSkillRoots")]
public ICollection<MasterSkillRoot> RawMasterSkillRoots { get; } = new List<MasterSkillRoot>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.MasterSkillRoot> MasterSkillRoots
{
get => base.MasterSkillRoots ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.MasterSkillRoot, MasterSkillRoot>(this.RawMasterSkillRoots);
protected set
{
this.MasterSkillRoots.Clear();
foreach (var item in value)
{
this.MasterSkillRoots.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="GlobalAttributeCombinations" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("globalAttributeCombinations")]
public ICollection<AttributeRelationship> RawGlobalAttributeCombinations { get; } = new List<AttributeRelationship>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.AttributeSystem.AttributeRelationship> GlobalAttributeCombinations
{
get => base.GlobalAttributeCombinations ??= new CollectionAdapter<MUnique.OpenMU.AttributeSystem.AttributeRelationship, AttributeRelationship>(this.RawGlobalAttributeCombinations);
protected set
{
this.GlobalAttributeCombinations.Clear();
foreach (var item in value)
{
this.GlobalAttributeCombinations.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="GlobalBaseAttributeValues" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("globalBaseAttributeValues")]
public ICollection<ConstValueAttribute> RawGlobalBaseAttributeValues { get; } = new List<ConstValueAttribute>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.AttributeSystem.ConstValueAttribute> GlobalBaseAttributeValues
{
get => base.GlobalBaseAttributeValues ??= new CollectionAdapter<MUnique.OpenMU.AttributeSystem.ConstValueAttribute, ConstValueAttribute>(this.RawGlobalBaseAttributeValues);
protected set
{
this.GlobalBaseAttributeValues.Clear();
foreach (var item in value)
{
this.GlobalBaseAttributeValues.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="PlugInConfigurations" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("plugInConfigurations")]
public ICollection<PlugInConfiguration> RawPlugInConfigurations { get; } = new List<PlugInConfiguration>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.PlugIns.PlugInConfiguration> PlugInConfigurations
{
get => base.PlugInConfigurations ??= new CollectionAdapter<MUnique.OpenMU.PlugIns.PlugInConfiguration, PlugInConfiguration>(this.RawPlugInConfigurations);
protected set
{
this.PlugInConfigurations.Clear();
foreach (var item in value)
{
this.PlugInConfigurations.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="MiniGameDefinitions" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("miniGameDefinitions")]
public ICollection<MiniGameDefinition> RawMiniGameDefinitions { get; } = new List<MiniGameDefinition>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.MiniGameDefinition> MiniGameDefinitions
{
get => base.MiniGameDefinitions ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.MiniGameDefinition, MiniGameDefinition>(this.RawMiniGameDefinitions);
protected set
{
this.MiniGameDefinitions.Clear();
foreach (var item in value)
{
this.MiniGameDefinitions.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="DuelConfiguration" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("duelConfiguration")]
public DuelConfiguration RawDuelConfiguration
{
get => base.DuelConfiguration as DuelConfiguration;
set => base.DuelConfiguration = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.DuelConfiguration DuelConfiguration
{
get => base.DuelConfiguration;
set => base.DuelConfiguration = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.GameConfiguration Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new GameConfiguration();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.GameConfiguration other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public GameConfiguration Convert() => this;
}

View File

@@ -0,0 +1,225 @@
// <copyright file="GameMapDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="GameMapDefinition"/>.
/// </summary>
public partial class GameMapDefinition : MUnique.OpenMU.DataModel.Configuration.GameMapDefinition, IIdentifiable, IConvertibleTo<GameMapDefinition>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="MonsterSpawns" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("monsterSpawns")]
public ICollection<MonsterSpawnArea> RawMonsterSpawns { get; } = new List<MonsterSpawnArea>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.MonsterSpawnArea> MonsterSpawns
{
get => base.MonsterSpawns ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.MonsterSpawnArea, MonsterSpawnArea>(this.RawMonsterSpawns);
protected set
{
this.MonsterSpawns.Clear();
foreach (var item in value)
{
this.MonsterSpawns.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="EnterGates" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("enterGates")]
public ICollection<EnterGate> RawEnterGates { get; } = new List<EnterGate>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.EnterGate> EnterGates
{
get => base.EnterGates ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.EnterGate, EnterGate>(this.RawEnterGates);
protected set
{
this.EnterGates.Clear();
foreach (var item in value)
{
this.EnterGates.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="ExitGates" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("exitGates")]
public ICollection<ExitGate> RawExitGates { get; } = new List<ExitGate>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.ExitGate> ExitGates
{
get => base.ExitGates ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.ExitGate, ExitGate>(this.RawExitGates);
protected set
{
this.ExitGates.Clear();
foreach (var item in value)
{
this.ExitGates.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="DropItemGroups" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("dropItemGroups")]
public ICollection<DropItemGroup> RawDropItemGroups { get; } = new List<DropItemGroup>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.DropItemGroup> DropItemGroups
{
get => base.DropItemGroups ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.DropItemGroup, DropItemGroup>(this.RawDropItemGroups);
protected set
{
this.DropItemGroups.Clear();
foreach (var item in value)
{
this.DropItemGroups.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="MapRequirements" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("mapRequirements")]
public ICollection<AttributeRequirement> RawMapRequirements { get; } = new List<AttributeRequirement>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.AttributeRequirement> MapRequirements
{
get => base.MapRequirements ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.AttributeRequirement, AttributeRequirement>(this.RawMapRequirements);
protected set
{
this.MapRequirements.Clear();
foreach (var item in value)
{
this.MapRequirements.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="CharacterPowerUpDefinitions" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("characterPowerUpDefinitions")]
public ICollection<PowerUpDefinition> RawCharacterPowerUpDefinitions { get; } = new List<PowerUpDefinition>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Attributes.PowerUpDefinition> CharacterPowerUpDefinitions
{
get => base.CharacterPowerUpDefinitions ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Attributes.PowerUpDefinition, PowerUpDefinition>(this.RawCharacterPowerUpDefinitions);
protected set
{
this.CharacterPowerUpDefinitions.Clear();
foreach (var item in value)
{
this.CharacterPowerUpDefinitions.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="SafezoneMap" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("safezoneMap")]
public GameMapDefinition RawSafezoneMap
{
get => base.SafezoneMap as GameMapDefinition;
set => base.SafezoneMap = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.GameMapDefinition SafezoneMap
{
get => base.SafezoneMap;
set => base.SafezoneMap = value;
}
/// <summary>
/// Gets the raw object of <see cref="BattleZone" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("battleZone")]
public BattleZoneDefinition RawBattleZone
{
get => base.BattleZone as BattleZoneDefinition;
set => base.BattleZone = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.BattleZoneDefinition BattleZone
{
get => base.BattleZone;
set => base.BattleZone = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.GameMapDefinition Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new GameMapDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.GameMapDefinition other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public GameMapDefinition Convert() => this;
}

View File

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

View File

@@ -0,0 +1,120 @@
// <copyright file="GameServerDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="GameServerDefinition"/>.
/// </summary>
public partial class GameServerDefinition : MUnique.OpenMU.DataModel.Configuration.GameServerDefinition, IIdentifiable, IConvertibleTo<GameServerDefinition>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="Endpoints" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("endpoints")]
public ICollection<GameServerEndpoint> RawEndpoints { get; } = new List<GameServerEndpoint>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.GameServerEndpoint> Endpoints
{
get => base.Endpoints ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.GameServerEndpoint, GameServerEndpoint>(this.RawEndpoints);
protected set
{
this.Endpoints.Clear();
foreach (var item in value)
{
this.Endpoints.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="ServerConfiguration" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("serverConfiguration")]
public GameServerConfiguration RawServerConfiguration
{
get => base.ServerConfiguration as GameServerConfiguration;
set => base.ServerConfiguration = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.GameServerConfiguration ServerConfiguration
{
get => base.ServerConfiguration;
set => base.ServerConfiguration = value;
}
/// <summary>
/// Gets the raw object of <see cref="GameConfiguration" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("gameConfiguration")]
public GameConfiguration RawGameConfiguration
{
get => base.GameConfiguration as GameConfiguration;
set => base.GameConfiguration = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.GameConfiguration GameConfiguration
{
get => base.GameConfiguration;
set => base.GameConfiguration = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.GameServerDefinition Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new GameServerDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.GameServerDefinition other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public GameServerDefinition Convert() => this;
}

View File

@@ -0,0 +1,81 @@
// <copyright file="GameServerEndpoint.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="GameServerEndpoint"/>.
/// </summary>
public partial class GameServerEndpoint : MUnique.OpenMU.DataModel.Configuration.GameServerEndpoint, IIdentifiable, IConvertibleTo<GameServerEndpoint>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Client" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("client")]
public GameClientDefinition RawClient
{
get => base.Client as GameClientDefinition;
set => base.Client = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.GameClientDefinition Client
{
get => base.Client;
set => base.Client = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.GameServerEndpoint Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new GameServerEndpoint();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.GameServerEndpoint other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public GameServerEndpoint Convert() => this;
}

View File

@@ -0,0 +1,63 @@
// <copyright file="Gate.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="Gate"/>.
/// </summary>
public partial class Gate : MUnique.OpenMU.DataModel.Configuration.Gate, IIdentifiable, IConvertibleTo<Gate>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Gate Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new Gate();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Gate other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public Gate Convert() => this;
}

View File

@@ -0,0 +1,103 @@
// <copyright file="Guild.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="Guild"/>.
/// </summary>
public partial class Guild : MUnique.OpenMU.DataModel.Entities.Guild, IIdentifiable, IConvertibleTo<Guild>
{
/// <summary>
/// Gets the raw collection of <see cref="Members" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("members")]
public ICollection<GuildMember> RawMembers { get; } = new List<GuildMember>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Entities.GuildMember> Members
{
get => base.Members ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Entities.GuildMember, GuildMember>(this.RawMembers);
protected set
{
this.Members.Clear();
foreach (var item in value)
{
this.Members.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="Hostility" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("hostility")]
public Guild RawHostility
{
get => base.Hostility as Guild;
set => base.Hostility = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.Interfaces.Guild Hostility
{
get => base.Hostility;
set => base.Hostility = value;
}
/// <summary>
/// Gets the raw object of <see cref="AllianceGuild" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("allianceGuild")]
public Guild RawAllianceGuild
{
get => base.AllianceGuild as Guild;
set => base.AllianceGuild = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.Interfaces.Guild AllianceGuild
{
get => base.AllianceGuild;
set => base.AllianceGuild = value;
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public Guild Convert() => this;
}

View File

@@ -0,0 +1,56 @@
// <copyright file="GuildMember.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="GuildMember"/>.
/// </summary>
public partial class GuildMember : MUnique.OpenMU.DataModel.Entities.GuildMember, IIdentifiable, IConvertibleTo<GuildMember>
{
/// <inheritdoc />
public GuildMember()
{
}
/// <inheritdoc />
public GuildMember(System.Guid id)
: base(id)
{
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public GuildMember Convert() => this;
}

View File

@@ -0,0 +1,120 @@
// <copyright file="IncreasableItemOption.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="IncreasableItemOption"/>.
/// </summary>
public partial class IncreasableItemOption : MUnique.OpenMU.DataModel.Configuration.Items.IncreasableItemOption, IIdentifiable, IConvertibleTo<IncreasableItemOption>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="LevelDependentOptions" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("levelDependentOptions")]
public ICollection<ItemOptionOfLevel> RawLevelDependentOptions { get; } = new List<ItemOptionOfLevel>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionOfLevel> LevelDependentOptions
{
get => base.LevelDependentOptions ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionOfLevel, ItemOptionOfLevel>(this.RawLevelDependentOptions);
protected set
{
this.LevelDependentOptions.Clear();
foreach (var item in value)
{
this.LevelDependentOptions.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="OptionType" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("optionType")]
public ItemOptionType RawOptionType
{
get => base.OptionType as ItemOptionType;
set => base.OptionType = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionType OptionType
{
get => base.OptionType;
set => base.OptionType = value;
}
/// <summary>
/// Gets the raw object of <see cref="PowerUpDefinition" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("powerUpDefinition")]
public PowerUpDefinition RawPowerUpDefinition
{
get => base.PowerUpDefinition as PowerUpDefinition;
set => base.PowerUpDefinition = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Attributes.PowerUpDefinition PowerUpDefinition
{
get => base.PowerUpDefinition;
set => base.PowerUpDefinition = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Items.IncreasableItemOption Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new IncreasableItemOption();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Items.IncreasableItemOption other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public IncreasableItemOption Convert() => this;
}

View File

@@ -0,0 +1,123 @@
// <copyright file="Item.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="Item"/>.
/// </summary>
public partial class Item : MUnique.OpenMU.DataModel.Entities.Item, IIdentifiable, IConvertibleTo<Item>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="ItemOptions" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemOptions")]
public ICollection<ItemOptionLink> RawItemOptions { get; } = new List<ItemOptionLink>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Entities.ItemOptionLink> ItemOptions
{
get => base.ItemOptions ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Entities.ItemOptionLink, ItemOptionLink>(this.RawItemOptions);
protected set
{
this.ItemOptions.Clear();
foreach (var item in value)
{
this.ItemOptions.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="ItemSetGroups" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemSetGroups")]
public ICollection<ItemOfItemSet> RawItemSetGroups { get; } = new List<ItemOfItemSet>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.ItemOfItemSet> ItemSetGroups
{
get => base.ItemSetGroups ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.ItemOfItemSet, ItemOfItemSet>(this.RawItemSetGroups);
protected set
{
this.ItemSetGroups.Clear();
foreach (var item in value)
{
this.ItemSetGroups.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="Definition" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("definition")]
public ItemDefinition RawDefinition
{
get => base.Definition as ItemDefinition;
set => base.Definition = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemDefinition Definition
{
get => base.Definition;
set => base.Definition = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Entities.Item Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new Item();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Entities.Item other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public Item Convert() => this;
}

View File

@@ -0,0 +1,23 @@
// <copyright file="Item.custom.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
namespace MUnique.OpenMU.Persistence.BasicModel;
/// <summary>
/// Extended <see cref="Item"/> to implement <see cref="CloneItemOptionLink"/>.
/// </summary>
public partial class Item
{
/// <summary>
/// Clones the item option link.
/// </summary>
/// <param name="link">The link.</param>
/// <returns>The cloned item option link.</returns>
protected override DataModel.Entities.ItemOptionLink CloneItemOptionLink(DataModel.Entities.ItemOptionLink link)
{
var persistentLink = new ItemOptionLink();
persistentLink.AssignValues(link);
return persistentLink;
}
}

View File

@@ -0,0 +1,88 @@
// <copyright file="ItemAppearance.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ItemAppearance"/>.
/// </summary>
public partial class ItemAppearance : MUnique.OpenMU.DataModel.Entities.ItemAppearance, IIdentifiable, IConvertibleTo<ItemAppearance>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="VisibleOptions" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("visibleOptions")]
public ICollection<ItemOptionType> RawVisibleOptions { get; } = new List<ItemOptionType>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionType> VisibleOptions
{
get => base.VisibleOptions ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionType, ItemOptionType>(this.RawVisibleOptions);
protected set
{
this.VisibleOptions.Clear();
foreach (var item in value)
{
this.VisibleOptions.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="Definition" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("definition")]
public ItemDefinition RawDefinition
{
get => base.Definition as ItemDefinition;
set => base.Definition = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemDefinition Definition
{
get => base.Definition;
set => base.Definition = value;
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ItemAppearance Convert() => this;
}

View File

@@ -0,0 +1,99 @@
// <copyright file="ItemBasePowerUpDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ItemBasePowerUpDefinition"/>.
/// </summary>
public partial class ItemBasePowerUpDefinition : MUnique.OpenMU.DataModel.Configuration.Items.ItemBasePowerUpDefinition, IIdentifiable, IConvertibleTo<ItemBasePowerUpDefinition>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="TargetAttribute" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("targetAttribute")]
public AttributeDefinition RawTargetAttribute
{
get => base.TargetAttribute as AttributeDefinition;
set => base.TargetAttribute = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.AttributeSystem.AttributeDefinition TargetAttribute
{
get => base.TargetAttribute;
set => base.TargetAttribute = value;
}
/// <summary>
/// Gets the raw object of <see cref="BonusPerLevelTable" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("bonusPerLevelTable")]
public ItemLevelBonusTable RawBonusPerLevelTable
{
get => base.BonusPerLevelTable as ItemLevelBonusTable;
set => base.BonusPerLevelTable = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemLevelBonusTable BonusPerLevelTable
{
get => base.BonusPerLevelTable;
set => base.BonusPerLevelTable = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemBasePowerUpDefinition Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new ItemBasePowerUpDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Items.ItemBasePowerUpDefinition other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ItemBasePowerUpDefinition Convert() => this;
}

View File

@@ -0,0 +1,81 @@
// <copyright file="ItemCrafting.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ItemCrafting"/>.
/// </summary>
public partial class ItemCrafting : MUnique.OpenMU.DataModel.Configuration.ItemCrafting.ItemCrafting, IIdentifiable, IConvertibleTo<ItemCrafting>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="SimpleCraftingSettings" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("simpleCraftingSettings")]
public SimpleCraftingSettings RawSimpleCraftingSettings
{
get => base.SimpleCraftingSettings as SimpleCraftingSettings;
set => base.SimpleCraftingSettings = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.ItemCrafting.SimpleCraftingSettings SimpleCraftingSettings
{
get => base.SimpleCraftingSettings;
set => base.SimpleCraftingSettings = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.ItemCrafting.ItemCrafting Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new ItemCrafting();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.ItemCrafting.ItemCrafting other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ItemCrafting Convert() => this;
}

View File

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

View File

@@ -0,0 +1,81 @@
// <copyright file="ItemCraftingResultItem.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ItemCraftingResultItem"/>.
/// </summary>
public partial class ItemCraftingResultItem : MUnique.OpenMU.DataModel.Configuration.ItemCrafting.ItemCraftingResultItem, IIdentifiable, IConvertibleTo<ItemCraftingResultItem>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="ItemDefinition" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemDefinition")]
public ItemDefinition RawItemDefinition
{
get => base.ItemDefinition as ItemDefinition;
set => base.ItemDefinition = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemDefinition ItemDefinition
{
get => base.ItemDefinition;
set => base.ItemDefinition = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.ItemCrafting.ItemCraftingResultItem Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new ItemCraftingResultItem();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.ItemCrafting.ItemCraftingResultItem other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ItemCraftingResultItem Convert() => this;
}

View File

@@ -0,0 +1,243 @@
// <copyright file="ItemDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ItemDefinition"/>.
/// </summary>
public partial class ItemDefinition : MUnique.OpenMU.DataModel.Configuration.Items.ItemDefinition, IIdentifiable, IConvertibleTo<ItemDefinition>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="QualifiedCharacters" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("qualifiedCharacters")]
public ICollection<CharacterClass> RawQualifiedCharacters { get; } = new List<CharacterClass>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.CharacterClass> QualifiedCharacters
{
get => base.QualifiedCharacters ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.CharacterClass, CharacterClass>(this.RawQualifiedCharacters);
protected set
{
this.QualifiedCharacters.Clear();
foreach (var item in value)
{
this.QualifiedCharacters.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="PossibleItemSetGroups" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("possibleItemSetGroups")]
public ICollection<ItemSetGroup> RawPossibleItemSetGroups { get; } = new List<ItemSetGroup>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.ItemSetGroup> PossibleItemSetGroups
{
get => base.PossibleItemSetGroups ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.ItemSetGroup, ItemSetGroup>(this.RawPossibleItemSetGroups);
protected set
{
this.PossibleItemSetGroups.Clear();
foreach (var item in value)
{
this.PossibleItemSetGroups.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="PossibleItemOptions" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("possibleItemOptions")]
public ICollection<ItemOptionDefinition> RawPossibleItemOptions { get; } = new List<ItemOptionDefinition>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionDefinition> PossibleItemOptions
{
get => base.PossibleItemOptions ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionDefinition, ItemOptionDefinition>(this.RawPossibleItemOptions);
protected set
{
this.PossibleItemOptions.Clear();
foreach (var item in value)
{
this.PossibleItemOptions.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="Requirements" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("requirements")]
public ICollection<AttributeRequirement> RawRequirements { get; } = new List<AttributeRequirement>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.AttributeRequirement> Requirements
{
get => base.Requirements ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.AttributeRequirement, AttributeRequirement>(this.RawRequirements);
protected set
{
this.Requirements.Clear();
foreach (var item in value)
{
this.Requirements.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="BasePowerUpAttributes" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("basePowerUpAttributes")]
public ICollection<ItemBasePowerUpDefinition> RawBasePowerUpAttributes { get; } = new List<ItemBasePowerUpDefinition>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.ItemBasePowerUpDefinition> BasePowerUpAttributes
{
get => base.BasePowerUpAttributes ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.ItemBasePowerUpDefinition, ItemBasePowerUpDefinition>(this.RawBasePowerUpAttributes);
protected set
{
this.BasePowerUpAttributes.Clear();
foreach (var item in value)
{
this.BasePowerUpAttributes.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="DropItems" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("dropItems")]
public ICollection<ItemDropItemGroup> RawDropItems { get; } = new List<ItemDropItemGroup>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.ItemDropItemGroup> DropItems
{
get => base.DropItems ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.ItemDropItemGroup, ItemDropItemGroup>(this.RawDropItems);
protected set
{
this.DropItems.Clear();
foreach (var item in value)
{
this.DropItems.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="ItemSlot" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemSlot")]
public ItemSlotType RawItemSlot
{
get => base.ItemSlot as ItemSlotType;
set => base.ItemSlot = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemSlotType ItemSlot
{
get => base.ItemSlot;
set => base.ItemSlot = value;
}
/// <summary>
/// Gets the raw object of <see cref="ConsumeEffect" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("consumeEffect")]
public MagicEffectDefinition RawConsumeEffect
{
get => base.ConsumeEffect as MagicEffectDefinition;
set => base.ConsumeEffect = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.MagicEffectDefinition ConsumeEffect
{
get => base.ConsumeEffect;
set => base.ConsumeEffect = value;
}
/// <summary>
/// Gets the raw object of <see cref="Skill" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("skill")]
public Skill RawSkill
{
get => base.Skill as Skill;
set => base.Skill = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Skill Skill
{
get => base.Skill;
set => base.Skill = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemDefinition Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new ItemDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Items.ItemDefinition other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ItemDefinition Convert() => this;
}

View File

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

View File

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

View File

@@ -0,0 +1,117 @@
// <copyright file="ItemOfItemSet.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ItemOfItemSet"/>.
/// </summary>
public partial class ItemOfItemSet : MUnique.OpenMU.DataModel.Configuration.Items.ItemOfItemSet, IIdentifiable, IConvertibleTo<ItemOfItemSet>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="ItemSetGroup" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemSetGroup")]
public ItemSetGroup RawItemSetGroup
{
get => base.ItemSetGroup as ItemSetGroup;
set => base.ItemSetGroup = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemSetGroup ItemSetGroup
{
get => base.ItemSetGroup;
set => base.ItemSetGroup = value;
}
/// <summary>
/// Gets the raw object of <see cref="ItemDefinition" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemDefinition")]
public ItemDefinition RawItemDefinition
{
get => base.ItemDefinition as ItemDefinition;
set => base.ItemDefinition = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemDefinition ItemDefinition
{
get => base.ItemDefinition;
set => base.ItemDefinition = value;
}
/// <summary>
/// Gets the raw object of <see cref="BonusOption" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("bonusOption")]
public IncreasableItemOption RawBonusOption
{
get => base.BonusOption as IncreasableItemOption;
set => base.BonusOption = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.IncreasableItemOption BonusOption
{
get => base.BonusOption;
set => base.BonusOption = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemOfItemSet Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new ItemOfItemSet();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Items.ItemOfItemSet other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ItemOfItemSet Convert() => this;
}

View File

@@ -0,0 +1,99 @@
// <copyright file="ItemOption.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ItemOption"/>.
/// </summary>
public partial class ItemOption : MUnique.OpenMU.DataModel.Configuration.Items.ItemOption, IIdentifiable, IConvertibleTo<ItemOption>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="OptionType" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("optionType")]
public ItemOptionType RawOptionType
{
get => base.OptionType as ItemOptionType;
set => base.OptionType = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionType OptionType
{
get => base.OptionType;
set => base.OptionType = value;
}
/// <summary>
/// Gets the raw object of <see cref="PowerUpDefinition" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("powerUpDefinition")]
public PowerUpDefinition RawPowerUpDefinition
{
get => base.PowerUpDefinition as PowerUpDefinition;
set => base.PowerUpDefinition = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Attributes.PowerUpDefinition PowerUpDefinition
{
get => base.PowerUpDefinition;
set => base.PowerUpDefinition = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemOption Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new ItemOption();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Items.ItemOption other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ItemOption Convert() => this;
}

View File

@@ -0,0 +1,102 @@
// <copyright file="ItemOptionCombinationBonus.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ItemOptionCombinationBonus"/>.
/// </summary>
public partial class ItemOptionCombinationBonus : MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionCombinationBonus, IIdentifiable, IConvertibleTo<ItemOptionCombinationBonus>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="Requirements" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("requirements")]
public ICollection<CombinationBonusRequirement> RawRequirements { get; } = new List<CombinationBonusRequirement>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.CombinationBonusRequirement> Requirements
{
get => base.Requirements ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.CombinationBonusRequirement, CombinationBonusRequirement>(this.RawRequirements);
protected set
{
this.Requirements.Clear();
foreach (var item in value)
{
this.Requirements.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="Bonus" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("bonus")]
public PowerUpDefinition RawBonus
{
get => base.Bonus as PowerUpDefinition;
set => base.Bonus = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Attributes.PowerUpDefinition Bonus
{
get => base.Bonus;
set => base.Bonus = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionCombinationBonus Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new ItemOptionCombinationBonus();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionCombinationBonus other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ItemOptionCombinationBonus Convert() => this;
}

View File

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

View File

@@ -0,0 +1,81 @@
// <copyright file="ItemOptionLink.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ItemOptionLink"/>.
/// </summary>
public partial class ItemOptionLink : MUnique.OpenMU.DataModel.Entities.ItemOptionLink, IIdentifiable, IConvertibleTo<ItemOptionLink>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="ItemOption" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemOption")]
public IncreasableItemOption RawItemOption
{
get => base.ItemOption as IncreasableItemOption;
set => base.ItemOption = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.IncreasableItemOption ItemOption
{
get => base.ItemOption;
set => base.ItemOption = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Entities.ItemOptionLink Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new ItemOptionLink();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Entities.ItemOptionLink other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ItemOptionLink Convert() => this;
}

View File

@@ -0,0 +1,81 @@
// <copyright file="ItemOptionOfLevel.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ItemOptionOfLevel"/>.
/// </summary>
public partial class ItemOptionOfLevel : MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionOfLevel, IIdentifiable, IConvertibleTo<ItemOptionOfLevel>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="PowerUpDefinition" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("powerUpDefinition")]
public PowerUpDefinition RawPowerUpDefinition
{
get => base.PowerUpDefinition as PowerUpDefinition;
set => base.PowerUpDefinition = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Attributes.PowerUpDefinition PowerUpDefinition
{
get => base.PowerUpDefinition;
set => base.PowerUpDefinition = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionOfLevel Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new ItemOptionOfLevel();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionOfLevel other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ItemOptionOfLevel Convert() => this;
}

View File

@@ -0,0 +1,60 @@
// <copyright file="ItemOptionType.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ItemOptionType"/>.
/// </summary>
public partial class ItemOptionType : MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionType, IIdentifiable, IConvertibleTo<ItemOptionType>
{
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionType Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new ItemOptionType();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionType other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ItemOptionType Convert() => this;
}

View File

@@ -0,0 +1,102 @@
// <copyright file="ItemSetGroup.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ItemSetGroup"/>.
/// </summary>
public partial class ItemSetGroup : MUnique.OpenMU.DataModel.Configuration.Items.ItemSetGroup, IIdentifiable, IConvertibleTo<ItemSetGroup>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="Items" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("items")]
public ICollection<ItemOfItemSet> RawItems { get; } = new List<ItemOfItemSet>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.ItemOfItemSet> Items
{
get => base.Items ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.ItemOfItemSet, ItemOfItemSet>(this.RawItems);
protected set
{
this.Items.Clear();
foreach (var item in value)
{
this.Items.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="Options" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("options")]
public ItemOptionDefinition RawOptions
{
get => base.Options as ItemOptionDefinition;
set => base.Options = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemOptionDefinition Options
{
get => base.Options;
set => base.Options = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemSetGroup Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new ItemSetGroup();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Items.ItemSetGroup other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ItemSetGroup Convert() => this;
}

View File

@@ -0,0 +1,63 @@
// <copyright file="ItemSlotType.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="ItemSlotType"/>.
/// </summary>
public partial class ItemSlotType : MUnique.OpenMU.DataModel.Configuration.Items.ItemSlotType, IIdentifiable, IConvertibleTo<ItemSlotType>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemSlotType Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new ItemSlotType();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Items.ItemSlotType other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public ItemSlotType Convert() => this;
}

View File

@@ -0,0 +1,14 @@
// <copyright file="ItemSlotType.custom.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
namespace MUnique.OpenMU.Persistence.BasicModel;
/// <summary>
/// A plain implementation of <see cref="MUnique.OpenMU.DataModel.Configuration.Items.ItemSlotType"/>.
/// </summary>
public partial class ItemSlotType
{
/// <inheritdoc />
public override ICollection<int> ItemSlots => base.ItemSlots ?? (base.ItemSlots = new List<int>());
}

View File

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

View File

@@ -0,0 +1,99 @@
// <copyright file="JewelMix.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="JewelMix"/>.
/// </summary>
public partial class JewelMix : MUnique.OpenMU.DataModel.Configuration.JewelMix, IIdentifiable, IConvertibleTo<JewelMix>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="SingleJewel" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("singleJewel")]
public ItemDefinition RawSingleJewel
{
get => base.SingleJewel as ItemDefinition;
set => base.SingleJewel = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemDefinition SingleJewel
{
get => base.SingleJewel;
set => base.SingleJewel = value;
}
/// <summary>
/// Gets the raw object of <see cref="MixedJewel" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("mixedJewel")]
public ItemDefinition RawMixedJewel
{
get => base.MixedJewel as ItemDefinition;
set => base.MixedJewel = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemDefinition MixedJewel
{
get => base.MixedJewel;
set => base.MixedJewel = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.JewelMix Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new JewelMix();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.JewelMix other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public JewelMix Convert() => this;
}

View File

@@ -0,0 +1,82 @@
// <copyright file="LetterBody.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="LetterBody"/>.
/// </summary>
public partial class LetterBody : MUnique.OpenMU.DataModel.Entities.LetterBody, IIdentifiable, IConvertibleTo<LetterBody>
{
/// <summary>
/// Gets the raw object of <see cref="Header" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("header")]
public LetterHeader RawHeader
{
get => base.Header as LetterHeader;
set => base.Header = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.Interfaces.LetterHeader Header
{
get => base.Header;
set => base.Header = value;
}
/// <summary>
/// Gets the raw object of <see cref="SenderAppearance" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("senderAppearance")]
public AppearanceData RawSenderAppearance
{
get => base.SenderAppearance as AppearanceData;
set => base.SenderAppearance = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Entities.AppearanceData SenderAppearance
{
get => base.SenderAppearance;
set => base.SenderAppearance = value;
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public LetterBody Convert() => this;
}

View File

@@ -0,0 +1,46 @@
// <copyright file="LetterHeader.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="LetterHeader"/>.
/// </summary>
public partial class LetterHeader : MUnique.OpenMU.Interfaces.LetterHeader, IIdentifiable, IConvertibleTo<LetterHeader>
{
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public LetterHeader Convert() => this;
}

View File

@@ -0,0 +1,73 @@
// <copyright file="LevelBonus.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="LevelBonus"/>.
/// </summary>
public partial class LevelBonus : MUnique.OpenMU.DataModel.Configuration.Items.LevelBonus, IIdentifiable, IConvertibleTo<LevelBonus>
{
/// <inheritdoc />
public LevelBonus()
{
}
/// <inheritdoc />
public LevelBonus(System.Int32 level, System.Single constantValue)
: base(level, constantValue)
{
}
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Items.LevelBonus Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new LevelBonus();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Items.LevelBonus other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public LevelBonus Convert() => this;
}

View File

@@ -0,0 +1,63 @@
// <copyright file="LevelDependentDamage.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="LevelDependentDamage"/>.
/// </summary>
public partial class LevelDependentDamage : MUnique.OpenMU.DataModel.Configuration.LevelDependentDamage, IIdentifiable, IConvertibleTo<LevelDependentDamage>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.LevelDependentDamage Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new LevelDependentDamage();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.LevelDependentDamage other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public LevelDependentDamage Convert() => this;
}

View File

@@ -0,0 +1,177 @@
// <copyright file="MagicEffectDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="MagicEffectDefinition"/>.
/// </summary>
public partial class MagicEffectDefinition : MUnique.OpenMU.DataModel.Configuration.MagicEffectDefinition, IIdentifiable, IConvertibleTo<MagicEffectDefinition>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="PowerUpDefinitions" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("powerUpDefinitions")]
public ICollection<PowerUpDefinition> RawPowerUpDefinitions { get; } = new List<PowerUpDefinition>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Attributes.PowerUpDefinition> PowerUpDefinitions
{
get => base.PowerUpDefinitions ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Attributes.PowerUpDefinition, PowerUpDefinition>(this.RawPowerUpDefinitions);
protected set
{
this.PowerUpDefinitions.Clear();
foreach (var item in value)
{
this.PowerUpDefinitions.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="PowerUpDefinitionsPvp" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("powerUpDefinitionsPvp")]
public ICollection<PowerUpDefinition> RawPowerUpDefinitionsPvp { get; } = new List<PowerUpDefinition>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Attributes.PowerUpDefinition> PowerUpDefinitionsPvp
{
get => base.PowerUpDefinitionsPvp ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Attributes.PowerUpDefinition, PowerUpDefinition>(this.RawPowerUpDefinitionsPvp);
protected set
{
this.PowerUpDefinitionsPvp.Clear();
foreach (var item in value)
{
this.PowerUpDefinitionsPvp.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="Chance" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("chance")]
public PowerUpDefinitionValue RawChance
{
get => base.Chance as PowerUpDefinitionValue;
set => base.Chance = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Attributes.PowerUpDefinitionValue Chance
{
get => base.Chance;
set => base.Chance = value;
}
/// <summary>
/// Gets the raw object of <see cref="ChancePvp" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("chancePvp")]
public PowerUpDefinitionValue RawChancePvp
{
get => base.ChancePvp as PowerUpDefinitionValue;
set => base.ChancePvp = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Attributes.PowerUpDefinitionValue ChancePvp
{
get => base.ChancePvp;
set => base.ChancePvp = value;
}
/// <summary>
/// Gets the raw object of <see cref="Duration" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("duration")]
public PowerUpDefinitionValue RawDuration
{
get => base.Duration as PowerUpDefinitionValue;
set => base.Duration = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Attributes.PowerUpDefinitionValue Duration
{
get => base.Duration;
set => base.Duration = value;
}
/// <summary>
/// Gets the raw object of <see cref="DurationPvp" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("durationPvp")]
public PowerUpDefinitionValue RawDurationPvp
{
get => base.DurationPvp as PowerUpDefinitionValue;
set => base.DurationPvp = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Attributes.PowerUpDefinitionValue DurationPvp
{
get => base.DurationPvp;
set => base.DurationPvp = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.MagicEffectDefinition Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new MagicEffectDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.MagicEffectDefinition other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public MagicEffectDefinition Convert() => this;
}

View File

@@ -0,0 +1,138 @@
// <copyright file="MasterSkillDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="MasterSkillDefinition"/>.
/// </summary>
public partial class MasterSkillDefinition : MUnique.OpenMU.DataModel.Configuration.MasterSkillDefinition, IIdentifiable, IConvertibleTo<MasterSkillDefinition>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="RequiredMasterSkills" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("requiredMasterSkills")]
public ICollection<Skill> RawRequiredMasterSkills { get; } = new List<Skill>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Skill> RequiredMasterSkills
{
get => base.RequiredMasterSkills ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Skill, Skill>(this.RawRequiredMasterSkills);
protected set
{
this.RequiredMasterSkills.Clear();
foreach (var item in value)
{
this.RequiredMasterSkills.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="Root" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("root")]
public MasterSkillRoot RawRoot
{
get => base.Root as MasterSkillRoot;
set => base.Root = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.MasterSkillRoot Root
{
get => base.Root;
set => base.Root = value;
}
/// <summary>
/// Gets the raw object of <see cref="TargetAttribute" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("targetAttribute")]
public AttributeDefinition RawTargetAttribute
{
get => base.TargetAttribute as AttributeDefinition;
set => base.TargetAttribute = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.AttributeSystem.AttributeDefinition TargetAttribute
{
get => base.TargetAttribute;
set => base.TargetAttribute = value;
}
/// <summary>
/// Gets the raw object of <see cref="ReplacedSkill" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("replacedSkill")]
public Skill RawReplacedSkill
{
get => base.ReplacedSkill as Skill;
set => base.ReplacedSkill = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Skill ReplacedSkill
{
get => base.ReplacedSkill;
set => base.ReplacedSkill = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.MasterSkillDefinition Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new MasterSkillDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.MasterSkillDefinition other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public MasterSkillDefinition Convert() => this;
}

View File

@@ -0,0 +1,60 @@
// <copyright file="MasterSkillRoot.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="MasterSkillRoot"/>.
/// </summary>
public partial class MasterSkillRoot : MUnique.OpenMU.DataModel.Configuration.MasterSkillRoot, IIdentifiable, IConvertibleTo<MasterSkillRoot>
{
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.MasterSkillRoot Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new MasterSkillRoot();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.MasterSkillRoot other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public MasterSkillRoot Convert() => this;
}

View File

@@ -0,0 +1,120 @@
// <copyright file="MiniGameChangeEvent.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="MiniGameChangeEvent"/>.
/// </summary>
public partial class MiniGameChangeEvent : MUnique.OpenMU.DataModel.Configuration.MiniGameChangeEvent, IIdentifiable, IConvertibleTo<MiniGameChangeEvent>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="TerrainChanges" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("terrainChanges")]
public ICollection<MiniGameTerrainChange> RawTerrainChanges { get; } = new List<MiniGameTerrainChange>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.MiniGameTerrainChange> TerrainChanges
{
get => base.TerrainChanges ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.MiniGameTerrainChange, MiniGameTerrainChange>(this.RawTerrainChanges);
protected set
{
this.TerrainChanges.Clear();
foreach (var item in value)
{
this.TerrainChanges.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="TargetDefinition" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("targetDefinition")]
public MonsterDefinition RawTargetDefinition
{
get => base.TargetDefinition as MonsterDefinition;
set => base.TargetDefinition = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.MonsterDefinition TargetDefinition
{
get => base.TargetDefinition;
set => base.TargetDefinition = value;
}
/// <summary>
/// Gets the raw object of <see cref="SpawnArea" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("spawnArea")]
public MonsterSpawnArea RawSpawnArea
{
get => base.SpawnArea as MonsterSpawnArea;
set => base.SpawnArea = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.MonsterSpawnArea SpawnArea
{
get => base.SpawnArea;
set => base.SpawnArea = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.MiniGameChangeEvent Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new MiniGameChangeEvent();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.MiniGameChangeEvent other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public MiniGameChangeEvent Convert() => this;
}

View File

@@ -0,0 +1,162 @@
// <copyright file="MiniGameDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="MiniGameDefinition"/>.
/// </summary>
public partial class MiniGameDefinition : MUnique.OpenMU.DataModel.Configuration.MiniGameDefinition, IIdentifiable, IConvertibleTo<MiniGameDefinition>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="Rewards" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("rewards")]
public ICollection<MiniGameReward> RawRewards { get; } = new List<MiniGameReward>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.MiniGameReward> Rewards
{
get => base.Rewards ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.MiniGameReward, MiniGameReward>(this.RawRewards);
protected set
{
this.Rewards.Clear();
foreach (var item in value)
{
this.Rewards.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="SpawnWaves" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("spawnWaves")]
public ICollection<MiniGameSpawnWave> RawSpawnWaves { get; } = new List<MiniGameSpawnWave>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.MiniGameSpawnWave> SpawnWaves
{
get => base.SpawnWaves ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.MiniGameSpawnWave, MiniGameSpawnWave>(this.RawSpawnWaves);
protected set
{
this.SpawnWaves.Clear();
foreach (var item in value)
{
this.SpawnWaves.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="ChangeEvents" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("changeEvents")]
public ICollection<MiniGameChangeEvent> RawChangeEvents { get; } = new List<MiniGameChangeEvent>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.MiniGameChangeEvent> ChangeEvents
{
get => base.ChangeEvents ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.MiniGameChangeEvent, MiniGameChangeEvent>(this.RawChangeEvents);
protected set
{
this.ChangeEvents.Clear();
foreach (var item in value)
{
this.ChangeEvents.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="Entrance" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("entrance")]
public ExitGate RawEntrance
{
get => base.Entrance as ExitGate;
set => base.Entrance = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.ExitGate Entrance
{
get => base.Entrance;
set => base.Entrance = value;
}
/// <summary>
/// Gets the raw object of <see cref="TicketItem" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("ticketItem")]
public ItemDefinition RawTicketItem
{
get => base.TicketItem as ItemDefinition;
set => base.TicketItem = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemDefinition TicketItem
{
get => base.TicketItem;
set => base.TicketItem = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.MiniGameDefinition Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new MiniGameDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.MiniGameDefinition other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public MiniGameDefinition Convert() => this;
}

View File

@@ -0,0 +1,85 @@
// <copyright file="MiniGameRankingEntry.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="MiniGameRankingEntry"/>.
/// </summary>
public partial class MiniGameRankingEntry : MUnique.OpenMU.DataModel.Statistics.MiniGameRankingEntry, IIdentifiable, IConvertibleTo<MiniGameRankingEntry>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Character" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("character")]
public Character RawCharacter
{
get => base.Character as Character;
set => base.Character = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Entities.Character Character
{
get => base.Character;
set => base.Character = value;
}
/// <summary>
/// Gets the raw object of <see cref="MiniGame" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("miniGame")]
public MiniGameDefinition RawMiniGame
{
get => base.MiniGame as MiniGameDefinition;
set => base.MiniGame = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.MiniGameDefinition MiniGame
{
get => base.MiniGame;
set => base.MiniGame = value;
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public MiniGameRankingEntry Convert() => this;
}

View File

@@ -0,0 +1,99 @@
// <copyright file="MiniGameReward.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="MiniGameReward"/>.
/// </summary>
public partial class MiniGameReward : MUnique.OpenMU.DataModel.Configuration.MiniGameReward, IIdentifiable, IConvertibleTo<MiniGameReward>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="ItemReward" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemReward")]
public DropItemGroup RawItemReward
{
get => base.ItemReward as DropItemGroup;
set => base.ItemReward = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.DropItemGroup ItemReward
{
get => base.ItemReward;
set => base.ItemReward = value;
}
/// <summary>
/// Gets the raw object of <see cref="RequiredKill" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("requiredKill")]
public MonsterDefinition RawRequiredKill
{
get => base.RequiredKill as MonsterDefinition;
set => base.RequiredKill = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.MonsterDefinition RequiredKill
{
get => base.RequiredKill;
set => base.RequiredKill = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.MiniGameReward Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new MiniGameReward();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.MiniGameReward other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public MiniGameReward Convert() => this;
}

View File

@@ -0,0 +1,63 @@
// <copyright file="MiniGameSpawnWave.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="MiniGameSpawnWave"/>.
/// </summary>
public partial class MiniGameSpawnWave : MUnique.OpenMU.DataModel.Configuration.MiniGameSpawnWave, IIdentifiable, IConvertibleTo<MiniGameSpawnWave>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.MiniGameSpawnWave Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new MiniGameSpawnWave();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.MiniGameSpawnWave other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public MiniGameSpawnWave Convert() => this;
}

View File

@@ -0,0 +1,63 @@
// <copyright file="MiniGameTerrainChange.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="MiniGameTerrainChange"/>.
/// </summary>
public partial class MiniGameTerrainChange : MUnique.OpenMU.DataModel.Configuration.MiniGameTerrainChange, IIdentifiable, IConvertibleTo<MiniGameTerrainChange>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.MiniGameTerrainChange Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new MiniGameTerrainChange();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.MiniGameTerrainChange other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public MiniGameTerrainChange Convert() => this;
}

View File

@@ -0,0 +1,81 @@
// <copyright file="MonsterAttribute.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="MonsterAttribute"/>.
/// </summary>
public partial class MonsterAttribute : MUnique.OpenMU.DataModel.Configuration.MonsterAttribute, IIdentifiable, IConvertibleTo<MonsterAttribute>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="AttributeDefinition" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("attributeDefinition")]
public AttributeDefinition RawAttributeDefinition
{
get => base.AttributeDefinition as AttributeDefinition;
set => base.AttributeDefinition = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.AttributeSystem.AttributeDefinition AttributeDefinition
{
get => base.AttributeDefinition;
set => base.AttributeDefinition = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.MonsterAttribute Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new MonsterAttribute();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.MonsterAttribute other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public MonsterAttribute Convert() => this;
}

View File

@@ -0,0 +1,183 @@
// <copyright file="MonsterDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="MonsterDefinition"/>.
/// </summary>
public partial class MonsterDefinition : MUnique.OpenMU.DataModel.Configuration.MonsterDefinition, IIdentifiable, IConvertibleTo<MonsterDefinition>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="ItemCraftings" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemCraftings")]
public ICollection<ItemCrafting> RawItemCraftings { get; } = new List<ItemCrafting>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.ItemCrafting.ItemCrafting> ItemCraftings
{
get => base.ItemCraftings ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.ItemCrafting.ItemCrafting, ItemCrafting>(this.RawItemCraftings);
protected set
{
this.ItemCraftings.Clear();
foreach (var item in value)
{
this.ItemCraftings.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="DropItemGroups" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("dropItemGroups")]
public ICollection<DropItemGroup> RawDropItemGroups { get; } = new List<DropItemGroup>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.DropItemGroup> DropItemGroups
{
get => base.DropItemGroups ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.DropItemGroup, DropItemGroup>(this.RawDropItemGroups);
protected set
{
this.DropItemGroups.Clear();
foreach (var item in value)
{
this.DropItemGroups.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="Attributes" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("attributes")]
public ICollection<MonsterAttribute> RawAttributes { get; } = new List<MonsterAttribute>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.MonsterAttribute> Attributes
{
get => base.Attributes ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.MonsterAttribute, MonsterAttribute>(this.RawAttributes);
protected set
{
this.Attributes.Clear();
foreach (var item in value)
{
this.Attributes.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="Quests" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("quests")]
public ICollection<QuestDefinition> RawQuests { get; } = new List<QuestDefinition>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Quests.QuestDefinition> Quests
{
get => base.Quests ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Quests.QuestDefinition, QuestDefinition>(this.RawQuests);
protected set
{
this.Quests.Clear();
foreach (var item in value)
{
this.Quests.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="AttackSkill" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("attackSkill")]
public Skill RawAttackSkill
{
get => base.AttackSkill as Skill;
set => base.AttackSkill = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Skill AttackSkill
{
get => base.AttackSkill;
set => base.AttackSkill = value;
}
/// <summary>
/// Gets the raw object of <see cref="MerchantStore" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("merchantStore")]
public ItemStorage RawMerchantStore
{
get => base.MerchantStore as ItemStorage;
set => base.MerchantStore = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Entities.ItemStorage MerchantStore
{
get => base.MerchantStore;
set => base.MerchantStore = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.MonsterDefinition Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new MonsterDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.MonsterDefinition other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public MonsterDefinition Convert() => this;
}

View File

@@ -0,0 +1,99 @@
// <copyright file="MonsterSpawnArea.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="MonsterSpawnArea"/>.
/// </summary>
public partial class MonsterSpawnArea : MUnique.OpenMU.DataModel.Configuration.MonsterSpawnArea, IIdentifiable, IConvertibleTo<MonsterSpawnArea>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="MonsterDefinition" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("monsterDefinition")]
public MonsterDefinition RawMonsterDefinition
{
get => base.MonsterDefinition as MonsterDefinition;
set => base.MonsterDefinition = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.MonsterDefinition MonsterDefinition
{
get => base.MonsterDefinition;
set => base.MonsterDefinition = value;
}
/// <summary>
/// Gets the raw object of <see cref="GameMap" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("gameMap")]
public GameMapDefinition RawGameMap
{
get => base.GameMap as GameMapDefinition;
set => base.GameMap = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.GameMapDefinition GameMap
{
get => base.GameMap;
set => base.GameMap = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.MonsterSpawnArea Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new MonsterSpawnArea();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.MonsterSpawnArea other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public MonsterSpawnArea Convert() => this;
}

View File

@@ -0,0 +1,49 @@
// <copyright file="PlugInConfiguration.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="PlugInConfiguration"/>.
/// </summary>
public partial class PlugInConfiguration : MUnique.OpenMU.PlugIns.PlugInConfiguration, IIdentifiable, IConvertibleTo<PlugInConfiguration>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public PlugInConfiguration Convert() => this;
}

View File

@@ -0,0 +1,99 @@
// <copyright file="PowerUpDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="PowerUpDefinition"/>.
/// </summary>
public partial class PowerUpDefinition : MUnique.OpenMU.DataModel.Attributes.PowerUpDefinition, IIdentifiable, IConvertibleTo<PowerUpDefinition>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="TargetAttribute" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("targetAttribute")]
public AttributeDefinition RawTargetAttribute
{
get => base.TargetAttribute as AttributeDefinition;
set => base.TargetAttribute = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.AttributeSystem.AttributeDefinition TargetAttribute
{
get => base.TargetAttribute;
set => base.TargetAttribute = value;
}
/// <summary>
/// Gets the raw object of <see cref="Boost" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("boost")]
public PowerUpDefinitionValue RawBoost
{
get => base.Boost as PowerUpDefinitionValue;
set => base.Boost = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Attributes.PowerUpDefinitionValue Boost
{
get => base.Boost;
set => base.Boost = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Attributes.PowerUpDefinition Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new PowerUpDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Attributes.PowerUpDefinition other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public PowerUpDefinition Convert() => this;
}

View File

@@ -0,0 +1,84 @@
// <copyright file="PowerUpDefinitionValue.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="PowerUpDefinitionValue"/>.
/// </summary>
public partial class PowerUpDefinitionValue : MUnique.OpenMU.DataModel.Attributes.PowerUpDefinitionValue, IIdentifiable, IConvertibleTo<PowerUpDefinitionValue>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="RelatedValues" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("relatedValues")]
public ICollection<AttributeRelationship> RawRelatedValues { get; } = new List<AttributeRelationship>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.AttributeSystem.AttributeRelationship> RelatedValues
{
get => base.RelatedValues ??= new CollectionAdapter<MUnique.OpenMU.AttributeSystem.AttributeRelationship, AttributeRelationship>(this.RawRelatedValues);
protected set
{
this.RelatedValues.Clear();
foreach (var item in value)
{
this.RelatedValues.Add(item);
}
}
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Attributes.PowerUpDefinitionValue Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new PowerUpDefinitionValue();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Attributes.PowerUpDefinitionValue other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public PowerUpDefinitionValue Convert() => this;
}

View File

@@ -0,0 +1,39 @@
// <copyright file="PowerUpDefinitionValue.custom.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.AttributeSystem;
/// <summary>
/// Extended <see cref="PowerUpDefinitionValue"/> by the properties of <see cref="SimpleElement"/>, because they are in a 1:1 relationship.
/// </summary>
public partial class PowerUpDefinitionValue
{
/// <summary>
/// Initializes a new instance of the <see cref="PowerUpDefinitionValue"/> class.
/// </summary>
public PowerUpDefinitionValue()
{
this.ConstantValue = new MUnique.OpenMU.AttributeSystem.SimpleElement();
}
/// <summary>
/// Gets or sets the value.
/// </summary>
public float Value
{
get => this.ConstantValue!.Value;
set => this.ConstantValue!.Value = value;
}
/// <summary>
/// Gets or sets the type of the aggregate.
/// </summary>
public AggregateType AggregateType
{
get => this.ConstantValue!.AggregateType;
set => this.ConstantValue!.AggregateType = value;
}
}

View File

@@ -0,0 +1,162 @@
// <copyright file="QuestDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="QuestDefinition"/>.
/// </summary>
public partial class QuestDefinition : MUnique.OpenMU.DataModel.Configuration.Quests.QuestDefinition, IIdentifiable, IConvertibleTo<QuestDefinition>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="RequiredMonsterKills" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("requiredMonsterKills")]
public ICollection<QuestMonsterKillRequirement> RawRequiredMonsterKills { get; } = new List<QuestMonsterKillRequirement>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Quests.QuestMonsterKillRequirement> RequiredMonsterKills
{
get => base.RequiredMonsterKills ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Quests.QuestMonsterKillRequirement, QuestMonsterKillRequirement>(this.RawRequiredMonsterKills);
protected set
{
this.RequiredMonsterKills.Clear();
foreach (var item in value)
{
this.RequiredMonsterKills.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="RequiredItems" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("requiredItems")]
public ICollection<QuestItemRequirement> RawRequiredItems { get; } = new List<QuestItemRequirement>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Quests.QuestItemRequirement> RequiredItems
{
get => base.RequiredItems ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Quests.QuestItemRequirement, QuestItemRequirement>(this.RawRequiredItems);
protected set
{
this.RequiredItems.Clear();
foreach (var item in value)
{
this.RequiredItems.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="Rewards" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("rewards")]
public ICollection<QuestReward> RawRewards { get; } = new List<QuestReward>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Quests.QuestReward> Rewards
{
get => base.Rewards ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Quests.QuestReward, QuestReward>(this.RawRewards);
protected set
{
this.Rewards.Clear();
foreach (var item in value)
{
this.Rewards.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="QuestGiver" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("questGiver")]
public MonsterDefinition RawQuestGiver
{
get => base.QuestGiver as MonsterDefinition;
set => base.QuestGiver = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.MonsterDefinition QuestGiver
{
get => base.QuestGiver;
set => base.QuestGiver = value;
}
/// <summary>
/// Gets the raw object of <see cref="QualifiedCharacter" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("qualifiedCharacter")]
public CharacterClass RawQualifiedCharacter
{
get => base.QualifiedCharacter as CharacterClass;
set => base.QualifiedCharacter = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.CharacterClass QualifiedCharacter
{
get => base.QualifiedCharacter;
set => base.QualifiedCharacter = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Quests.QuestDefinition Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new QuestDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Quests.QuestDefinition other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public QuestDefinition Convert() => this;
}

View File

@@ -0,0 +1,99 @@
// <copyright file="QuestItemRequirement.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="QuestItemRequirement"/>.
/// </summary>
public partial class QuestItemRequirement : MUnique.OpenMU.DataModel.Configuration.Quests.QuestItemRequirement, IIdentifiable, IConvertibleTo<QuestItemRequirement>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Item" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("item")]
public ItemDefinition RawItem
{
get => base.Item as ItemDefinition;
set => base.Item = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemDefinition Item
{
get => base.Item;
set => base.Item = value;
}
/// <summary>
/// Gets the raw object of <see cref="DropItemGroup" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("dropItemGroup")]
public DropItemGroup RawDropItemGroup
{
get => base.DropItemGroup as DropItemGroup;
set => base.DropItemGroup = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.DropItemGroup DropItemGroup
{
get => base.DropItemGroup;
set => base.DropItemGroup = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Quests.QuestItemRequirement Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new QuestItemRequirement();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Quests.QuestItemRequirement other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public QuestItemRequirement Convert() => this;
}

View File

@@ -0,0 +1,81 @@
// <copyright file="QuestMonsterKillRequirement.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="QuestMonsterKillRequirement"/>.
/// </summary>
public partial class QuestMonsterKillRequirement : MUnique.OpenMU.DataModel.Configuration.Quests.QuestMonsterKillRequirement, IIdentifiable, IConvertibleTo<QuestMonsterKillRequirement>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Monster" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("monster")]
public MonsterDefinition RawMonster
{
get => base.Monster as MonsterDefinition;
set => base.Monster = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.MonsterDefinition Monster
{
get => base.Monster;
set => base.Monster = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Quests.QuestMonsterKillRequirement Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new QuestMonsterKillRequirement();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Quests.QuestMonsterKillRequirement other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public QuestMonsterKillRequirement Convert() => this;
}

View File

@@ -0,0 +1,67 @@
// <copyright file="QuestMonsterKillRequirementState.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="QuestMonsterKillRequirementState"/>.
/// </summary>
public partial class QuestMonsterKillRequirementState : MUnique.OpenMU.DataModel.Entities.QuestMonsterKillRequirementState, IIdentifiable, IConvertibleTo<QuestMonsterKillRequirementState>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Requirement" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("requirement")]
public QuestMonsterKillRequirement RawRequirement
{
get => base.Requirement as QuestMonsterKillRequirement;
set => base.Requirement = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Quests.QuestMonsterKillRequirement Requirement
{
get => base.Requirement;
set => base.Requirement = value;
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public QuestMonsterKillRequirementState Convert() => this;
}

View File

@@ -0,0 +1,117 @@
// <copyright file="QuestReward.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="QuestReward"/>.
/// </summary>
public partial class QuestReward : MUnique.OpenMU.DataModel.Configuration.Quests.QuestReward, IIdentifiable, IConvertibleTo<QuestReward>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="ItemReward" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("itemReward")]
public Item RawItemReward
{
get => base.ItemReward as Item;
set => base.ItemReward = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Entities.Item ItemReward
{
get => base.ItemReward;
set => base.ItemReward = value;
}
/// <summary>
/// Gets the raw object of <see cref="AttributeReward" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("attributeReward")]
public AttributeDefinition RawAttributeReward
{
get => base.AttributeReward as AttributeDefinition;
set => base.AttributeReward = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.AttributeSystem.AttributeDefinition AttributeReward
{
get => base.AttributeReward;
set => base.AttributeReward = value;
}
/// <summary>
/// Gets the raw object of <see cref="SkillReward" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("skillReward")]
public Skill RawSkillReward
{
get => base.SkillReward as Skill;
set => base.SkillReward = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Skill SkillReward
{
get => base.SkillReward;
set => base.SkillReward = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Quests.QuestReward Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new QuestReward();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Quests.QuestReward other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public QuestReward Convert() => this;
}

View File

@@ -0,0 +1,63 @@
// <copyright file="Rectangle.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="Rectangle"/>.
/// </summary>
public partial class Rectangle : MUnique.OpenMU.DataModel.Configuration.Rectangle, IIdentifiable, IConvertibleTo<Rectangle>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Rectangle Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new Rectangle();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Rectangle other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public Rectangle Convert() => this;
}

View File

@@ -0,0 +1,105 @@
// <copyright file="SimpleCraftingSettings.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="SimpleCraftingSettings"/>.
/// </summary>
public partial class SimpleCraftingSettings : MUnique.OpenMU.DataModel.Configuration.ItemCrafting.SimpleCraftingSettings, IIdentifiable, IConvertibleTo<SimpleCraftingSettings>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="RequiredItems" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("requiredItems")]
public ICollection<ItemCraftingRequiredItem> RawRequiredItems { get; } = new List<ItemCraftingRequiredItem>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.ItemCrafting.ItemCraftingRequiredItem> RequiredItems
{
get => base.RequiredItems ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.ItemCrafting.ItemCraftingRequiredItem, ItemCraftingRequiredItem>(this.RawRequiredItems);
protected set
{
this.RequiredItems.Clear();
foreach (var item in value)
{
this.RequiredItems.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="ResultItems" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("resultItems")]
public ICollection<ItemCraftingResultItem> RawResultItems { get; } = new List<ItemCraftingResultItem>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.ItemCrafting.ItemCraftingResultItem> ResultItems
{
get => base.ResultItems ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.ItemCrafting.ItemCraftingResultItem, ItemCraftingResultItem>(this.RawResultItems);
protected set
{
this.ResultItems.Clear();
foreach (var item in value)
{
this.ResultItems.Add(item);
}
}
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.ItemCrafting.SimpleCraftingSettings Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new SimpleCraftingSettings();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.ItemCrafting.SimpleCraftingSettings other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public SimpleCraftingSettings Convert() => this;
}

View File

@@ -0,0 +1,219 @@
// <copyright file="Skill.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="Skill"/>.
/// </summary>
public partial class Skill : MUnique.OpenMU.DataModel.Configuration.Skill, IIdentifiable, IConvertibleTo<Skill>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw collection of <see cref="Requirements" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("requirements")]
public ICollection<AttributeRequirement> RawRequirements { get; } = new List<AttributeRequirement>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.AttributeRequirement> Requirements
{
get => base.Requirements ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.AttributeRequirement, AttributeRequirement>(this.RawRequirements);
protected set
{
this.Requirements.Clear();
foreach (var item in value)
{
this.Requirements.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="ConsumeRequirements" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("consumeRequirements")]
public ICollection<AttributeRequirement> RawConsumeRequirements { get; } = new List<AttributeRequirement>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.Items.AttributeRequirement> ConsumeRequirements
{
get => base.ConsumeRequirements ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.Items.AttributeRequirement, AttributeRequirement>(this.RawConsumeRequirements);
protected set
{
this.ConsumeRequirements.Clear();
foreach (var item in value)
{
this.ConsumeRequirements.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="AttributeRelationships" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("attributeRelationships")]
public ICollection<AttributeRelationship> RawAttributeRelationships { get; } = new List<AttributeRelationship>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.AttributeSystem.AttributeRelationship> AttributeRelationships
{
get => base.AttributeRelationships ??= new CollectionAdapter<MUnique.OpenMU.AttributeSystem.AttributeRelationship, AttributeRelationship>(this.RawAttributeRelationships);
protected set
{
this.AttributeRelationships.Clear();
foreach (var item in value)
{
this.AttributeRelationships.Add(item);
}
}
}
/// <summary>
/// Gets the raw collection of <see cref="QualifiedCharacters" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("qualifiedCharacters")]
public ICollection<CharacterClass> RawQualifiedCharacters { get; } = new List<CharacterClass>();
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection<MUnique.OpenMU.DataModel.Configuration.CharacterClass> QualifiedCharacters
{
get => base.QualifiedCharacters ??= new CollectionAdapter<MUnique.OpenMU.DataModel.Configuration.CharacterClass, CharacterClass>(this.RawQualifiedCharacters);
protected set
{
this.QualifiedCharacters.Clear();
foreach (var item in value)
{
this.QualifiedCharacters.Add(item);
}
}
}
/// <summary>
/// Gets the raw object of <see cref="ElementalModifierTarget" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("elementalModifierTarget")]
public AttributeDefinition RawElementalModifierTarget
{
get => base.ElementalModifierTarget as AttributeDefinition;
set => base.ElementalModifierTarget = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.AttributeSystem.AttributeDefinition ElementalModifierTarget
{
get => base.ElementalModifierTarget;
set => base.ElementalModifierTarget = value;
}
/// <summary>
/// Gets the raw object of <see cref="MagicEffectDef" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("magicEffectDef")]
public MagicEffectDefinition RawMagicEffectDef
{
get => base.MagicEffectDef as MagicEffectDefinition;
set => base.MagicEffectDef = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.MagicEffectDefinition MagicEffectDef
{
get => base.MagicEffectDef;
set => base.MagicEffectDef = value;
}
/// <summary>
/// Gets the raw object of <see cref="MasterDefinition" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("masterDefinition")]
public MasterSkillDefinition RawMasterDefinition
{
get => base.MasterDefinition as MasterSkillDefinition;
set => base.MasterDefinition = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.MasterSkillDefinition MasterDefinition
{
get => base.MasterDefinition;
set => base.MasterDefinition = value;
}
/// <summary>
/// Gets the raw object of <see cref="AreaSkillSettings" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("areaSkillSettings")]
public AreaSkillSettings RawAreaSkillSettings
{
get => base.AreaSkillSettings as AreaSkillSettings;
set => base.AreaSkillSettings = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.AreaSkillSettings AreaSkillSettings
{
get => base.AreaSkillSettings;
set => base.AreaSkillSettings = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.Skill Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new Skill();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.Skill other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public Skill Convert() => this;
}

View File

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

View File

@@ -0,0 +1,81 @@
// <copyright file="SkillComboStep.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="SkillComboStep"/>.
/// </summary>
public partial class SkillComboStep : MUnique.OpenMU.DataModel.Configuration.SkillComboStep, IIdentifiable, IConvertibleTo<SkillComboStep>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Skill" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("skill")]
public Skill RawSkill
{
get => base.Skill as Skill;
set => base.Skill = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Skill Skill
{
get => base.Skill;
set => base.Skill = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.SkillComboStep Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new SkillComboStep();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.SkillComboStep other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public SkillComboStep Convert() => this;
}

View File

@@ -0,0 +1,67 @@
// <copyright file="SkillEntry.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="SkillEntry"/>.
/// </summary>
public partial class SkillEntry : MUnique.OpenMU.DataModel.Entities.SkillEntry, IIdentifiable, IConvertibleTo<SkillEntry>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Skill" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("skill")]
public Skill RawSkill
{
get => base.Skill as Skill;
set => base.Skill = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Skill Skill
{
get => base.Skill;
set => base.Skill = value;
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public SkillEntry Convert() => this;
}

View File

@@ -0,0 +1,77 @@
// <copyright file="StatAttribute.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="StatAttribute"/>.
/// </summary>
public partial class StatAttribute : MUnique.OpenMU.AttributeSystem.StatAttribute, IIdentifiable, IConvertibleTo<StatAttribute>
{
/// <inheritdoc />
public StatAttribute()
{
}
/// <inheritdoc />
public StatAttribute(MUnique.OpenMU.AttributeSystem.AttributeDefinition definition, System.Single baseValue)
: base(definition, baseValue)
{
}
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Definition" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("definition")]
public AttributeDefinition RawDefinition
{
get => base.Definition as AttributeDefinition;
set => base.Definition = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.AttributeSystem.AttributeDefinition Definition
{
get => base.Definition;
protected set => base.Definition = value;
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public StatAttribute Convert() => this;
}

View File

@@ -0,0 +1,91 @@
// <copyright file="StatAttributeDefinition.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="StatAttributeDefinition"/>.
/// </summary>
public partial class StatAttributeDefinition : MUnique.OpenMU.DataModel.Configuration.StatAttributeDefinition, IIdentifiable, IConvertibleTo<StatAttributeDefinition>
{
/// <inheritdoc />
public StatAttributeDefinition()
{
}
/// <inheritdoc />
public StatAttributeDefinition(MUnique.OpenMU.AttributeSystem.AttributeDefinition attribute, System.Single baseValue, System.Boolean increasableByPlayer)
: base(attribute, baseValue, increasableByPlayer)
{
}
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Attribute" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("attribute")]
public AttributeDefinition RawAttribute
{
get => base.Attribute as AttributeDefinition;
set => base.Attribute = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.AttributeSystem.AttributeDefinition Attribute
{
get => base.Attribute;
set => base.Attribute = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.StatAttributeDefinition Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new StatAttributeDefinition();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.StatAttributeDefinition other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public StatAttributeDefinition Convert() => this;
}

View File

@@ -0,0 +1,63 @@
// <copyright file="SystemConfiguration.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="SystemConfiguration"/>.
/// </summary>
public partial class SystemConfiguration : MUnique.OpenMU.DataModel.Configuration.SystemConfiguration, IIdentifiable, IConvertibleTo<SystemConfiguration>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.SystemConfiguration Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new SystemConfiguration();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.SystemConfiguration other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public SystemConfiguration Convert() => this;
}

View File

@@ -0,0 +1,81 @@
// <copyright file="WarpInfo.Generated.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by a roslyn code generator.
// </auto-generated>
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
/// <summary>
/// A plain implementation of <see cref="WarpInfo"/>.
/// </summary>
public partial class WarpInfo : MUnique.OpenMU.DataModel.Configuration.WarpInfo, IIdentifiable, IConvertibleTo<WarpInfo>
{
/// <summary>
/// Gets or sets the identifier of this instance.
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// Gets the raw object of <see cref="Gate" />.
/// </summary>
[System.Text.Json.Serialization.JsonPropertyName("gate")]
public ExitGate RawGate
{
get => base.Gate as ExitGate;
set => base.Gate = value;
}
/// <inheritdoc/>
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.ExitGate Gate
{
get => base.Gate;
set => base.Gate = value;
}
/// <inheritdoc />
public override MUnique.OpenMU.DataModel.Configuration.WarpInfo Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new WarpInfo();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
/// <inheritdoc />
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.WarpInfo other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
/// <inheritdoc/>
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
/// <inheritdoc/>
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
/// <inheritdoc/>
public WarpInfo Convert() => this;
}

View File

@@ -0,0 +1,34 @@
// <copyright file="ByDataSourceReferenceHandler.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
namespace MUnique.OpenMU.Persistence;
using System.Text.Json.Serialization;
using MUnique.OpenMU.DataModel.Configuration;
/// <summary>
/// A reference handler which uses a <see cref="IDataSource{T}"/> to resolve references.
/// </summary>
public class ByDataSourceReferenceHandler : ReferenceHandler
{
/// <summary>
/// The data source.
/// </summary>
private readonly IDataSource<GameConfiguration> _dataSource;
/// <summary>
/// Initializes a new instance of the <see cref="ByDataSourceReferenceHandler"/> class.
/// </summary>
/// <param name="dataSource">The data source.</param>
public ByDataSourceReferenceHandler(IDataSource<GameConfiguration> dataSource)
{
this._dataSource = dataSource;
}
/// <inheritdoc />
public override ReferenceResolver CreateResolver()
{
return new ByDataSourceReferenceResolver(this._dataSource);
}
}

View File

@@ -0,0 +1,54 @@
// <copyright file="ByDataSourceReferenceResolver.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
namespace MUnique.OpenMU.Persistence;
using System.Text.Json.Serialization;
using MUnique.OpenMU.DataModel.Configuration;
/// <summary>
/// A reference resolver which uses a <see cref="IDataSource{T}"/> to resolve references.
/// </summary>
public class ByDataSourceReferenceResolver : ReferenceResolver
{
/// <summary>
/// The data source.
/// </summary>
private readonly IDataSource<GameConfiguration> _dataSource;
/// <summary>
/// Initializes a new instance of the <see cref="ByDataSourceReferenceResolver"/> class.
/// </summary>
/// <param name="dataSource">The data source.</param>
public ByDataSourceReferenceResolver(IDataSource<GameConfiguration> dataSource)
{
this._dataSource = dataSource;
}
/// <inheritdoc />
public override void AddReference(string referenceId, object value)
{
// do nothing here, because the data source is the source of truth.
}
/// <inheritdoc />
public override string GetReference(object value, out bool alreadyExists)
{
if (value is IIdentifiable identifiable)
{
alreadyExists = this._dataSource.Get(identifiable.Id) is { };
return identifiable.Id.ToString();
}
alreadyExists = false;
return string.Empty;
}
/// <inheritdoc />
public override object ResolveReference(string referenceId)
{
var id = Guid.Parse(referenceId);
return this._dataSource.Get(id) ?? throw new KeyNotFoundException($"Reference with id '{referenceId}' not found.");
}
}

View File

@@ -0,0 +1,118 @@
// <copyright file="CollectionAdapter.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
namespace MUnique.OpenMU.Persistence;
using System.Collections;
using System.Collections.Specialized;
/// <summary>
/// A collection adapter which adapts a <see cref="ICollection{TEfCore}"/> to an <see cref="ICollection{TClass}"/>,
/// if <typeparamref name="TEfCore" /> inherits from <typeparamref name="TClass"/>.
/// </summary>
/// <typeparam name="TClass">The type of the class.</typeparam>
/// <typeparam name="TEfCore">The type of the ef core.</typeparam>
/// <seealso cref="System.Collections.Generic.ICollection{TClass}" />
public class CollectionAdapter<TClass, TEfCore> : ICollection<TClass>, INotifyCollectionChanged
where TEfCore : TClass
{
/// <summary>
/// The raw collection which is the actually mapped collection by entity framework.
/// </summary>
private readonly ICollection<TEfCore> _rawCollection;
/// <summary>
/// Initializes a new instance of the <see cref="CollectionAdapter{TClass, TEfCore}"/> class.
/// </summary>
/// <param name="rawCollection">The raw collection which is the actually mapped collection by entity framework.</param>
public CollectionAdapter(ICollection<TEfCore> rawCollection)
{
this._rawCollection = rawCollection;
}
/// <inheritdoc/>
public event NotifyCollectionChangedEventHandler? CollectionChanged;
/// <inheritdoc />
public int Count => this._rawCollection.Count;
/// <inheritdoc />
public bool IsReadOnly => this._rawCollection.IsReadOnly;
/// <inheritdoc />
public IEnumerator<TClass> GetEnumerator()
{
return this._rawCollection.OfType<TClass>().GetEnumerator();
}
/// <summary>
/// Returns an enumerator that iterates through a collection.
/// </summary>
/// <returns>
/// An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
/// </returns>
IEnumerator IEnumerable.GetEnumerator()
{
return this._rawCollection.GetEnumerator();
}
/// <inheritdoc />
public void Add(TClass item)
{
if (item is not TEfCore efCoreItem)
{
throw new ArgumentException($"The item needs to be of type {typeof(TEfCore)}.", nameof(item));
}
this._rawCollection.Add(efCoreItem);
this.CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, new List<TEfCore> { efCoreItem }));
}
/// <inheritdoc />
public void Clear()
{
var items = this._rawCollection.ToList();
this._rawCollection.Clear();
this.CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset, items));
}
/// <inheritdoc />
public bool Contains(TClass item)
{
if (item is not TEfCore efCoreItem)
{
return false;
}
return this._rawCollection.Contains(efCoreItem);
}
/// <inheritdoc />
public void CopyTo(TClass[] array, int arrayIndex)
{
int i = 0;
foreach (var item in this._rawCollection)
{
array[arrayIndex + i] = item;
i++;
}
}
/// <inheritdoc />
public bool Remove(TClass item)
{
if (item is not TEfCore efCoreItem)
{
return false;
}
if (this._rawCollection.Remove(efCoreItem))
{
this.CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, new List<TEfCore> { efCoreItem }));
return true;
}
return false;
}
}

View File

@@ -0,0 +1,136 @@
// <copyright file="CollectionToDictionaryAdapter.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
namespace MUnique.OpenMU.Persistence;
using System.Collections;
using System.Diagnostics.CodeAnalysis;
/// <summary>
/// A adapter which adapts from a mapped collection of join entities to a dictionary interface.
/// </summary>
/// <typeparam name="TKey">The type of the key.</typeparam>
/// <typeparam name="TClass">The type of the class.</typeparam>
/// <typeparam name="TPersistent">The persistent type of <typeparamref name="TClass"/>.</typeparam>
/// <typeparam name="TJoin">The type of the join.</typeparam>
public class CollectionToDictionaryAdapter<TKey, TClass, TPersistent, TJoin> : IDictionary<TKey, TClass>
where TJoin : IDictionaryEntity<TKey, TPersistent>, new()
where TPersistent : class, TClass, IIdentifiable
where TClass : class
{
private readonly ICollection<TJoin> _rawCollection;
/// <summary>
/// Initializes a new instance of the <see cref="CollectionToDictionaryAdapter{TKey, TClass, TEfCore, TJoin}"/> class.
/// </summary>
/// <param name="rawCollection">The raw collection.</param>
public CollectionToDictionaryAdapter(ICollection<TJoin> rawCollection)
{
this._rawCollection = rawCollection;
}
/// <inheritdoc/>
public ICollection<TKey> Keys => this._rawCollection.Select(join => join.Key).ToList();
/// <inheritdoc/>
public ICollection<TClass> Values => this._rawCollection.Select(join => join.Value).OfType<TClass>().ToList();
/// <inheritdoc/>
public int Count => this._rawCollection.Count;
/// <inheritdoc/>
public bool IsReadOnly => this._rawCollection.IsReadOnly;
/// <inheritdoc/>
public TClass this[TKey key]
{
get
{
if (this.TryGetValue(key, out var value))
{
return value;
}
throw new KeyNotFoundException($"No value found for key {key}.");
}
set => this.Add(key, value);
}
/// <inheritdoc/>
public IEnumerator<KeyValuePair<TKey, TClass>> GetEnumerator()
{
foreach (var item in this._rawCollection)
{
yield return new KeyValuePair<TKey, TClass>(item.Key, item.Value);
}
}
/// <inheritdoc/>
IEnumerator IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
/// <inheritdoc/>
public void Add(KeyValuePair<TKey, TClass> item)
{
this.Add(item.Key, item.Value);
}
/// <inheritdoc/>
public void Add(TKey key, TClass value)
{
this._rawCollection.Add(new TJoin { Key = key, Value = (TPersistent)value, ValueId = ((TPersistent)value).Id });
}
/// <inheritdoc/>
public void Clear()
{
this._rawCollection.Clear();
}
/// <inheritdoc/>
public bool Contains(KeyValuePair<TKey, TClass> item)
{
return this.ContainsKey(item.Key);
}
/// <inheritdoc/>
public void CopyTo(KeyValuePair<TKey, TClass>[] array, int arrayIndex)
{
var keyValuePairs = this.ToList();
keyValuePairs.CopyTo(array, arrayIndex);
}
/// <inheritdoc/>
public bool Remove(KeyValuePair<TKey, TClass> item)
{
return this.Remove(item.Key);
}
/// <inheritdoc/>
public bool Remove(TKey key)
{
if (this._rawCollection.FirstOrDefault(join => object.Equals(join.Key, key)) is { } joinItem)
{
return this._rawCollection.Remove(joinItem);
}
return false;
}
/// <inheritdoc/>
public bool ContainsKey(TKey key)
{
return this._rawCollection.Any(join => object.Equals(join.Key, key));
}
/// <inheritdoc/>
public bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TClass value)
{
value = this._rawCollection.FirstOrDefault(join => object.Equals(join.Key, key))?.Value;
return value is { };
}
}

View File

@@ -0,0 +1,128 @@
// <copyright file="CollectionToStringAdapter.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
namespace MUnique.OpenMU.Persistence;
using System.Collections;
using System.ComponentModel;
/// <summary>
/// This is a adapter which adapts a collection to a string value.
/// </summary>
/// <typeparam name="T">The type of objects which are contained in the collection.</typeparam>
public class CollectionToStringAdapter<T> : ICollection<T>
where T : struct
{
/// <summary>
/// The inner collection, holding the values.
/// </summary>
private readonly IList<T> _innerCollection = new List<T>();
/// <summary>
/// The action which updates the string.
/// </summary>
private readonly Action<string> _updateAction;
/// <summary>
/// Initializes a new instance of the <see cref="CollectionToStringAdapter{T}" /> class.
/// </summary>
/// <param name="rawString">The raw string.</param>
/// <param name="updateAction">The update action.</param>
public CollectionToStringAdapter(string rawString, Action<string> updateAction)
: this(rawString, updateAction, ";")
{
}
/// <summary>
/// Initializes a new instance of the <see cref="CollectionToStringAdapter{T}" /> class.
/// </summary>
/// <param name="rawString">The raw string.</param>
/// <param name="updateAction">The update action.</param>
/// <param name="itemSeparator">The item separator.</param>
public CollectionToStringAdapter(string rawString, Action<string> updateAction, string itemSeparator)
{
this.ItemSeparator = itemSeparator;
this.ReadValuesFromString(rawString);
this._updateAction = updateAction;
}
/// <summary>
/// Gets the item separator.
/// </summary>
public string ItemSeparator { get; }
/// <inheritdoc />
public int Count => this._innerCollection.Count;
/// <inheritdoc/>
public bool IsReadOnly => this._innerCollection.IsReadOnly;
/// <inheritdoc />
public void Add(T item)
{
this._innerCollection.Add(item);
this.UpdateString();
}
/// <inheritdoc />
public void Clear()
{
this._innerCollection.Clear();
this.UpdateString();
}
/// <inheritdoc />
public bool Contains(T item) => this._innerCollection.Contains(item);
/// <inheritdoc />
public void CopyTo(T[] array, int arrayIndex) => this._innerCollection.CopyTo(array, arrayIndex);
/// <inheritdoc />
public IEnumerator<T> GetEnumerator() => this._innerCollection.GetEnumerator();
/// <inheritdoc />
public bool Remove(T item)
{
if (this._innerCollection.Remove(item))
{
this.UpdateString();
return true;
}
return false;
}
/// <inheritdoc />
IEnumerator IEnumerable.GetEnumerator() => this._innerCollection.GetEnumerator();
private void UpdateString()
{
var result = string.Join(this.ItemSeparator, this._innerCollection);
this._updateAction(result);
}
private void ReadValuesFromString(string rawString)
{
if (rawString is null)
{
return;
}
var itemStrings = rawString.Split(new[] { this.ItemSeparator }, StringSplitOptions.RemoveEmptyEntries);
if (itemStrings.Length == 0)
{
return;
}
var converter = TypeDescriptor.GetConverter(typeof(T));
foreach (var itemString in itemStrings)
{
var converted = converter.ConvertFromInvariantString(itemString);
if (converted != null)
{
this._innerCollection.Add((T)converted);
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More