public PuzzleObject SelectObjectAt(int x, int y) { PuzzleObject obj = GetObjectAt(x, y); if (obj != null) { obj.Select(); } return(obj); }
public void Redo() { var last = memory_stack.Count - 1; if (last >= 0) { this.temp = memory_stack[memory_stack.Count - 1]; memory_stack.RemoveAt(memory_stack.Count - 1); puzzle_objects.Add(temp); Debug.WriteLine("Redo is selected"); this.Repaint(); } }
//Disini adalah logic undo dan redo yang akan dieksekusi berada //Bukanya lewat Visual Studio, terus klik kanan di tulisan Undo(), terus klik find All Reference //Nha nanti dibawah bakal ada void ICanvas.Undo(), kita langsung kesana aja public void Undo() { var last = puzzle_objects.Count - 1; if (last >= 0) { this.temp = puzzle_objects[puzzle_objects.Count - 1]; puzzle_objects.RemoveAt(puzzle_objects.Count - 1); memory_stack.Add(temp); Debug.WriteLine("Undo is selected"); this.Repaint(); } }
public virtual void Select(PuzzleObject obj) { }
public abstract void Draw(PuzzleObject obj);
public void AddPuzzleObject(PuzzleObject puzzle_object) { this.puzzle_objects.Add(puzzle_object); }
public void RemovePuzzleObject(PuzzleObject puzzle_object) { this.puzzle_objects.Remove(puzzle_object); }
public abstract bool Remove(PuzzleObject obj);
public abstract bool Add(PuzzleObject obj);