示例#1
0
        public PuzzleObject SelectObjectAt(int x, int y)
        {
            PuzzleObject obj = GetObjectAt(x, y);

            if (obj != null)
            {
                obj.Select();
            }

            return(obj);
        }
示例#2
0
        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();
            }
        }
示例#3
0
        //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);
示例#6
0
 public void AddPuzzleObject(PuzzleObject puzzle_object)
 {
     this.puzzle_objects.Add(puzzle_object);
 }
示例#7
0
 public void RemovePuzzleObject(PuzzleObject puzzle_object)
 {
     this.puzzle_objects.Remove(puzzle_object);
 }
示例#8
0
 public abstract bool Remove(PuzzleObject obj);
示例#9
0
 public abstract bool Add(PuzzleObject obj);