Fixed underflow error on worldpos.
This commit is contained in:
@@ -16,6 +16,9 @@ class MapWindow(QMainWindow):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
self.insertPressed = False
|
||||
self.deletePressed = False
|
||||
|
||||
# Subclasses
|
||||
self.map = Map(self)
|
||||
self.camera = Camera(self)
|
||||
@@ -104,18 +107,37 @@ class MapWindow(QMainWindow):
|
||||
|
||||
if amtX != 0 or amtY != 0 or amtZ != 0:
|
||||
self.map.moveRelative(amtX, amtY, amtZ)
|
||||
if self.insertPressed:
|
||||
tile = self.map.getTileAtWorldPos(*self.map.position)
|
||||
if tile is not None and tile.shape == TILE_SHAPE_NULL:
|
||||
tile.setShape(TILE_SHAPE_FLOOR)
|
||||
if self.deletePressed:
|
||||
tile = self.map.getTileAtWorldPos(*self.map.position)
|
||||
if tile is not None:
|
||||
tile.setShape(TILE_SHAPE_NULL)
|
||||
event.accept()
|
||||
return True
|
||||
|
||||
if key == Qt.Key_Delete:
|
||||
tile = self.map.getTileAtWorldPos(*self.map.position)
|
||||
self.deletePressed = True
|
||||
if tile is not None:
|
||||
tile.setShape(TILE_SHAPE_NULL)
|
||||
event.accept()
|
||||
return True
|
||||
if key == Qt.Key_Insert:
|
||||
tile = self.map.getTileAtWorldPos(*self.map.position)
|
||||
self.insertPressed = True
|
||||
if tile is not None and tile.shape == TILE_SHAPE_NULL:
|
||||
tile.setShape(TILE_SHAPE_FLOOR)
|
||||
event.accept()
|
||||
elif event.type() == event.KeyRelease:
|
||||
key = event.key()
|
||||
if key == Qt.Key_Delete:
|
||||
self.deletePressed = False
|
||||
event.accept()
|
||||
return True
|
||||
if key == Qt.Key_Insert:
|
||||
self.insertPressed = False
|
||||
event.accept()
|
||||
return super().eventFilter(obj, event)
|
||||
Reference in New Issue
Block a user