public void PointerChanged(EventPointerChanged tileEvent) { switch (tileEvent.PointerType) { case PointerTypes.Placement: editorPointer = new PlacementPointer(); break; case PointerTypes.Eraser: editorPointer = new EraserPointer(); break; case PointerTypes.Dropper: break; case PointerTypes.Mover: editorPointer = new MoverPointer(); break; case PointerTypes.Selector: break; case PointerTypes.Npcplacer: break; default: throw new ArgumentOutOfRangeException(string.Format("Pointer of type '{0}' is not implemented in TileManager.", tileEvent.PointerType)); } }
/// <summary> /// Change the active tile editor pointer. /// </summary> /// <param name="pointerType">New active pointer type</param> public void SetPointer(PointerTypes pointerType) { var pointerEvent = new EventPointerChanged(this.mapId, pointerType); pointerEvent.Post(); }