//
// 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 EnterGate : MUnique.OpenMU.DataModel.Configuration.EnterGate, IIdentifiable, IConvertibleTo
{
///
/// Gets or sets the identifier of this instance.
///
public Guid Id { get; set; }
///
/// Gets the raw object of .
///
[System.Text.Json.Serialization.JsonPropertyName("targetGate")]
public ExitGate RawTargetGate
{
get => base.TargetGate as ExitGate;
set => base.TargetGate = value;
}
///
[System.Text.Json.Serialization.JsonIgnore]
public override MUnique.OpenMU.DataModel.Configuration.ExitGate TargetGate
{
get => base.TargetGate;
set => base.TargetGate = value;
}
///
public override MUnique.OpenMU.DataModel.Configuration.EnterGate Clone(MUnique.OpenMU.DataModel.Configuration.GameConfiguration gameConfiguration)
{
var clone = new EnterGate();
clone.AssignValuesOf(this, gameConfiguration);
return clone;
}
///
public override void AssignValuesOf(MUnique.OpenMU.DataModel.Configuration.EnterGate 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 EnterGate Convert() => this;
}