diff --git a/Trunk/Components/CzokoŚmieciarka.DataModels/Interfaces/IGarbageLocalization.cs b/Trunk/Components/CzokoŚmieciarka.DataModels/Interfaces/IGarbageLocalization.cs index 55435a7..d16af93 100644 --- a/Trunk/Components/CzokoŚmieciarka.DataModels/Interfaces/IGarbageLocalization.cs +++ b/Trunk/Components/CzokoŚmieciarka.DataModels/Interfaces/IGarbageLocalization.cs @@ -8,7 +8,7 @@ using CzokoŚmieciarka.DataModels.Models; namespace CzokoŚmieciarka.DataModels.Interfaces { - public interface IGarbageLocalization + public interface IGarbageLocalization : ICloneable { Coords Coords { get; } diff --git a/Trunk/Components/CzokoŚmieciarka.DataModels/Interfaces/TrashCans/ATrashCan.cs b/Trunk/Components/CzokoŚmieciarka.DataModels/Interfaces/TrashCans/ATrashCan.cs index 5859ad4..ab23f53 100644 --- a/Trunk/Components/CzokoŚmieciarka.DataModels/Interfaces/TrashCans/ATrashCan.cs +++ b/Trunk/Components/CzokoŚmieciarka.DataModels/Interfaces/TrashCans/ATrashCan.cs @@ -2,7 +2,7 @@ namespace CzokoŚmieciarka.DataModels.Interfaces.TrashCans { - public abstract class ATrashCan + public abstract class ATrashCan : ICloneable { protected ATrashCan(ITypeOfGarbage typeOfGarbage, int maxVolume) { @@ -32,8 +32,13 @@ namespace CzokoŚmieciarka.DataModels.Interfaces.TrashCans this.Garbage = newGarbage; return true; - } - + } + + public object Clone() + { + return this.MemberwiseClone(); + } + public virtual AGarbage TakeGarbage() { var result = (AGarbage)this.Garbage.Clone(); diff --git a/Trunk/Czoko_Smieciarka.AI_Naive/Czoko_Smieciarka.AI_Naive.csproj b/Trunk/Czoko_Smieciarka.AI_Naive/Czoko_Smieciarka.AI_Naive.csproj index 1851939..3d9ad2d 100644 --- a/Trunk/Czoko_Smieciarka.AI_Naive/Czoko_Smieciarka.AI_Naive.csproj +++ b/Trunk/Czoko_Smieciarka.AI_Naive/Czoko_Smieciarka.AI_Naive.csproj @@ -4,4 +4,8 @@ netcoreapp2.1 + + + + diff --git a/Trunk/Czoko_Smieciarka.AI_Naive/RoutePlanningEngine.cs b/Trunk/Czoko_Smieciarka.AI_Naive/RoutePlanningEngine.cs index 36f7d16..8efc382 100644 --- a/Trunk/Czoko_Smieciarka.AI_Naive/RoutePlanningEngine.cs +++ b/Trunk/Czoko_Smieciarka.AI_Naive/RoutePlanningEngine.cs @@ -29,8 +29,8 @@ namespace Czoko_Smieciarka.AI_Naive public RoutePlanningEngine(IGarbageCollector collector, IEnumerable cans, IEnumerable dumps) { this.Collector = collector.Clone() as IGarbageCollector; - this.Cans = cans; - this.Dumps = dumps; + this.Cans = cans.Select(i=>(IGarbageLocalization) i.Clone()); + this.Dumps = dumps.Select(i => (ADump) i.Clone()); this.CurrentState = State.Wait; }