public override void Update(GameTime gt) { if ((Mouse.LeftMouseDown || Mouse.RightMouseDown) && Mouse.CanPress) { Point coords = GetCoordinates(Mouse.Position); if (Mouse.LeftMouseDown) { if (SpotExists(coords)) { foreach (int[] pair in Spots) { if (pair[0] == coords.X && pair[1] == coords.Y) { Spots.Remove(pair); break; } } } else { Spots.Add(new int[2] { coords.X, coords.Y }); } Console.WriteLine("\n=========================================\nNew Spots:"); Spots.ForEach(x => Console.WriteLine("\t\t\t\tnew int[] { " + x[0] + ", " + x[1] + " },")); } else { if (SpotExists(coords)) { if (ObstacleExists(coords.X, coords.Y)) { foreach (int[] pair in Obstacles) { if (pair[0] == coords.X && pair[1] == coords.Y) { Obstacles.Remove(pair); break; } } } else { Obstacles.Add(new int[2] { coords.X, coords.Y }); } Console.WriteLine("\n=========================================\nNew Obstacles:"); Obstacles.ForEach(x => Console.WriteLine("\t\t\t\tnew int[] { " + x[0] + ", " + x[1] + " },")); } } } }
public void AfterClone(Program source, bool fullClone = true) { Parent = source.Parent; UniqueID = Guid.NewGuid(); Spots.ForEach(spot => { spot.AfterClone(source.Spots.First(sourceSpot => sourceSpot.Date == spot.Date), fullClone); spot.Parent = this; }); }
public void Dispose() { Spots.ForEach(s => s.Dispose()); Spots.Clear(); Logo?.Dispose(); Logo = null; Parent = null; }