Czoko_Smieciarka/Trunk/Components/CzokoŚmieciarka.DataModels/Interfaces/GarbageCollector/AGarbageCollector.cs
2019-03-26 19:37:15 +01:00

48 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CzokoŚmieciarka.DataModels.Interfaces.TrashCans;
using CzokoŚmieciarka.DataModels.Models;
namespace CzokoŚmieciarka.DataModels.Interfaces.GarbageCollector
{
public abstract class AGarbageCollector : IGarbageCollector
{
public AGarbageCollector(Coords startPosition, IEnumerable<AGarbageCollectorContainer> trashContainers)
{
this.Position = startPosition;
this.TrashContainers = trashContainers;
}
public Coords Position { get; }
public Coords MoveUp()
{
return new Coords(Position.X,Position.Y+1);
}
public Coords MoveDown()
{
return new Coords(Position.X, Position.Y - 1);
}
public Coords MoveLeft()
{
return new Coords(Position.X-1, Position.Y);
}
public Coords MoveRight()
{
return new Coords(Position.X+1, Position.Y);
}
public object Clone()
{
return this.MemberwiseClone();
}
public IEnumerable<AGarbageCollectorContainer> TrashContainers { get; }
}
}