//
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
//
//------------------------------------------------------------------------------
//
// This source code was auto-generated by a roslyn code generator.
//
//------------------------------------------------------------------------------
// ReSharper disable All
namespace MUnique.OpenMU.Persistence.BasicModel;
using MUnique.OpenMU.Persistence.Json;
///
/// A plain implementation of .
///
public partial class CastleSiegeConfiguration : MUnique.OpenMU.DataModel.Configuration.CastleSiegeConfiguration, IIdentifiable, IConvertibleTo
{
///
/// Gets or sets the identifier of this instance.
///
public Guid Id { get; set; }
///
/// Gets the raw collection of .
///
[System.Text.Json.Serialization.JsonPropertyName("stateSchedule")]
public ICollection RawStateSchedule { get; } = new List();
///
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection StateSchedule
{
get => base.StateSchedule ??= new CollectionAdapter(this.RawStateSchedule);
protected set
{
this.StateSchedule.Clear();
foreach (var item in value)
{
this.StateSchedule.Add(item);
}
}
}
///
/// Gets the raw collection of .
///
[System.Text.Json.Serialization.JsonPropertyName("npcDefinitions")]
public ICollection RawNpcDefinitions { get; } = new List();
///
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection NpcDefinitions
{
get => base.NpcDefinitions ??= new CollectionAdapter(this.RawNpcDefinitions);
protected set
{
this.NpcDefinitions.Clear();
foreach (var item in value)
{
this.NpcDefinitions.Add(item);
}
}
}
///
/// Gets the raw collection of .
///
[System.Text.Json.Serialization.JsonPropertyName("gateDefenseUpgrades")]
public ICollection RawGateDefenseUpgrades { get; } = new List();
///
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection GateDefenseUpgrades
{
get => base.GateDefenseUpgrades ??= new CollectionAdapter(this.RawGateDefenseUpgrades);
protected set
{
this.GateDefenseUpgrades.Clear();
foreach (var item in value)
{
this.GateDefenseUpgrades.Add(item);
}
}
}
///
/// Gets the raw collection of .
///
[System.Text.Json.Serialization.JsonPropertyName("gateLifeUpgrades")]
public ICollection RawGateLifeUpgrades { get; } = new List();
///
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection GateLifeUpgrades
{
get => base.GateLifeUpgrades ??= new CollectionAdapter(this.RawGateLifeUpgrades);
protected set
{
this.GateLifeUpgrades.Clear();
foreach (var item in value)
{
this.GateLifeUpgrades.Add(item);
}
}
}
///
/// Gets the raw collection of .
///
[System.Text.Json.Serialization.JsonPropertyName("statueDefenseUpgrades")]
public ICollection RawStatueDefenseUpgrades { get; } = new List();
///
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection StatueDefenseUpgrades
{
get => base.StatueDefenseUpgrades ??= new CollectionAdapter(this.RawStatueDefenseUpgrades);
protected set
{
this.StatueDefenseUpgrades.Clear();
foreach (var item in value)
{
this.StatueDefenseUpgrades.Add(item);
}
}
}
///
/// Gets the raw collection of .
///
[System.Text.Json.Serialization.JsonPropertyName("statueLifeUpgrades")]
public ICollection RawStatueLifeUpgrades { get; } = new List();
///
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection StatueLifeUpgrades
{
get => base.StatueLifeUpgrades ??= new CollectionAdapter(this.RawStatueLifeUpgrades);
protected set
{
this.StatueLifeUpgrades.Clear();
foreach (var item in value)
{
this.StatueLifeUpgrades.Add(item);
}
}
}
///
/// Gets the raw collection of .
///
[System.Text.Json.Serialization.JsonPropertyName("statueRegenUpgrades")]
public ICollection RawStatueRegenUpgrades { get; } = new List();
///
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection StatueRegenUpgrades
{
get => base.StatueRegenUpgrades ??= new CollectionAdapter(this.RawStatueRegenUpgrades);
protected set
{
this.StatueRegenUpgrades.Clear();
foreach (var item in value)
{
this.StatueRegenUpgrades.Add(item);
}
}
}
///
/// Gets the raw collection of .
///
[System.Text.Json.Serialization.JsonPropertyName("attackMachineZones")]
public ICollection RawAttackMachineZones { get; } = new List();
///
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection AttackMachineZones
{
get => base.AttackMachineZones ??= new CollectionAdapter(this.RawAttackMachineZones);
protected set
{
this.AttackMachineZones.Clear();
foreach (var item in value)
{
this.AttackMachineZones.Add(item);
}
}
}
///
/// Gets the raw collection of .
///
[System.Text.Json.Serialization.JsonPropertyName("defenseMachineZones")]
public ICollection RawDefenseMachineZones { get; } = new List();
///
[System.Text.Json.Serialization.JsonIgnore]
public override ICollection DefenseMachineZones
{
get => base.DefenseMachineZones ??= new CollectionAdapter(this.RawDefenseMachineZones);
protected set
{
this.DefenseMachineZones.Clear();
foreach (var item in value)
{
this.DefenseMachineZones.Add(item);
}
}
}
///
/// Gets the raw object of .
///
[System.Text.Json.Serialization.JsonPropertyName("castleSiegeMapDefinition")]
public GameMapDefinition RawCastleSiegeMapDefinition
{
get => base.CastleSiegeMapDefinition as GameMapDefinition;
set => base.CastleSiegeMapDefinition = value;
}
///
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.GameMapDefinition CastleSiegeMapDefinition
{
get => base.CastleSiegeMapDefinition;
set => base.CastleSiegeMapDefinition = value;
}
///
/// Gets the raw object of .
///
[System.Text.Json.Serialization.JsonPropertyName("landOfTrialsMapDefinition")]
public GameMapDefinition RawLandOfTrialsMapDefinition
{
get => base.LandOfTrialsMapDefinition as GameMapDefinition;
set => base.LandOfTrialsMapDefinition = value;
}
///
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.GameMapDefinition LandOfTrialsMapDefinition
{
get => base.LandOfTrialsMapDefinition;
set => base.LandOfTrialsMapDefinition = value;
}
///
/// Gets the raw object of .
///
[System.Text.Json.Serialization.JsonPropertyName("rewardItemDefinition")]
public ItemDefinition RawRewardItemDefinition
{
get => base.RewardItemDefinition as ItemDefinition;
set => base.RewardItemDefinition = value;
}
///
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.Items.ItemDefinition RewardItemDefinition
{
get => base.RewardItemDefinition;
set => base.RewardItemDefinition = value;
}
///
/// Gets the raw object of .
///
[System.Text.Json.Serialization.JsonPropertyName("defenseRespawnArea")]
public CastleSiegeZoneDefinition RawDefenseRespawnArea
{
get => base.DefenseRespawnArea as CastleSiegeZoneDefinition;
set => base.DefenseRespawnArea = value;
}
///
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.CastleSiegeZoneDefinition DefenseRespawnArea
{
get => base.DefenseRespawnArea;
set => base.DefenseRespawnArea = value;
}
///
/// Gets the raw object of .
///
[System.Text.Json.Serialization.JsonPropertyName("attackRespawnArea")]
public CastleSiegeZoneDefinition RawAttackRespawnArea
{
get => base.AttackRespawnArea as CastleSiegeZoneDefinition;
set => base.AttackRespawnArea = value;
}
///
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.CastleSiegeZoneDefinition AttackRespawnArea
{
get => base.AttackRespawnArea;
set => base.AttackRespawnArea = value;
}
///
public override MUnique.OpenMU.DataModel.Configuration.CastleSiegeConfiguration Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new CastleSiegeConfiguration();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
///
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.CastleSiegeConfiguration other, MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
base.AssignValuesOf(other, gameConfiguration);
this.Id = other.GetId();
}
///
public override bool Equals(object obj)
{
var baseObject = obj as IIdentifiable;
if (baseObject != null)
{
return baseObject.Id == this.Id;
}
return base.Equals(obj);
}
///
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
///
public CastleSiegeConfiguration Convert() => this;
}