using System; using System.Collections.Generic; using System.Linq; using System.Text; using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; using HeuristicLab.PDPSimulation.DomainModel; using HeuristicLab.Core; using HeuristicLab.Common; namespace HeuristicLab.PDPSimulation { public enum SimulationStateChange { OrderCreated, OrderState, OrderFailed, VehicleCreated, VehicleMoved, VehicleState, VehicleAvailability, NoMoreOrders } [StorableClass] public class PDChange : Item { [Storable] public BaseObject BaseObject { get; set; } [Storable] public SimulationStateChange ChangeType { get; set; } public PDChange() { } [StorableConstructor] protected PDChange(bool deserializing) : base(deserializing) { } protected PDChange(PDChange original, Cloner cloner) : base(original, cloner) { BaseObject = cloner.Clone(original.BaseObject); ChangeType = original.ChangeType; } public override IDeepCloneable Clone(Cloner cloner) { return new PDChange(this, cloner); } } }