def __init__(self, parentState, text, pos, size=32, fixed=True): StaticImage.__init__(self, None, None, parentState, fixed) self.labelText = pygame.font.Font(os.path.join("data", "fonts", "PD-tarzeau_-_Atari_Small.ttf"), size) self.text = text self.image = self.labelText.render(text, False, pygame.Color(0, 0, 0)) self.rect = self.image.get_rect() self.rect.topleft = pos
def __init__(self, parentState, text, pos, size=32, fixed=True): StaticImage.__init__(self, None, None, parentState, fixed) self.labelText = pygame.font.Font( os.path.join("data", "fonts", "PD-tarzeau_-_Atari_Small.ttf"), size) self.text = text self.image = self.labelText.render(text, False, pygame.Color(0, 0, 0)) self.rect = self.image.get_rect() self.rect.topleft = pos
def __init__(self, menu, sprites=[]): MenuState.__init__(self, menu, sprites) self.sprites = [self.fileNameLabel, self.miniMap] self.buttons = [] self.panel = StaticImage(loadImage("devmenu.png", 2), (10, 10)) self.addSprite(self.panel) self.snapToGridButton = SnapToGridButton(self) self.addButton(self.snapToGridButton) self.removeButton = RemoveSensorButton(self) self.addButton(self.removeButton) self.gridButtonSelectionBox = None self.removeButtonSelectionBox = None self.addingMode = True self.removingMode = False self.curGrabbedSens = None self.curStart = None self.gridX = 40 self.gridY = 40 self.snapToGrid = False self.whereEntWasGrabbed = None
def __init__(self, menu, sprites=[]): MenuState.__init__(self, menu, sprites) self.sprites = [self.fileNameLabel, self.miniMap] self.buttons = [] self.panel = StaticImage(loadImage("tageditorbackground.png", 2), (10, 10)) self.addSprite(self.panel) self.plusTagButton = AddTagButton(self) self.addButton(self.plusTagButton) self.subTagButton = SubTagButton(self) self.addButton(self.subTagButton) self.sensorButton = SensorButton(self) self.addButton(self.sensorButton) self.curEnt = None self.keyboardEnabled = True #self.currentString = "" self.deleteLastChar = False #self.oldString = "" self.curTag = None self.tagButtons = [] self.carryMeOverButtons = [ self.plusTagButton, self.subTagButton, self.sensorButton ] self.carryMeOverSprites = [self.panel, self.fileNameLabel ] + self.carryMeOverButtons self.sensorMode = False self.sensorButtonSelectionBox = None
def __init__(self, menu, sprites=[]): MenuState.__init__(self, menu, sprites) self.sprites = [self.fileNameLabel, self.miniMap] self.buttons = [] self.panel = StaticImage(loadImage("devmenu.png", 2), (10, 10)) self.addSprite(self.panel) self.addBoundButton = AddBoundaryButton(self) self.addButton(self.addBoundButton) self.removeBoundButton = RemoveBoundaryButton(self) self.addButton(self.removeBoundButton) self.snapToGridButton = SnapToGridButton(self) self.addButton(self.snapToGridButton) self.buttonSelectionBox = SelectionBox(self.addBoundButton.rect, self) self.addSprite(self.buttonSelectionBox) self.gridButtonSelectionBox = None self.addingMode = True self.removingMode = False self.curStart = None tmpGrdRect = self.menu.playState.floor.tileSet.getTiles( )[0].image.get_rect() self.gridX, self.gridY = tmpGrdRect.w, tmpGrdRect.h self.snapToGrid = False
def __init__(self, menu, buttonType, sprites=[]): self.panelImage = loadImage("filebrowserbackground.png", 2) self.panel = StaticImage(self.panelImage, (10, 10)) sprites.append(self.panel) self.backButton = ScrollBackButtonFiles(self) sprites.append(self.backButton) self.nextButton = ScrollNextButtonFiles(self) sprites.append(self.nextButton) MenuState.__init__(self, menu, sprites, miniMap=False) self.keyboardEnabled = True self.currentString = "" self.forceUpdate = False self.deleteLastChar = False self.oldString = "" self.boundingArea = pygame.Rect(26, 26, 670, 496) #self.addButton( FileButton( self, self.currentString, ( 40, 30 ) ) ) self.startButtonIndex = 0 self.pageLength = 0 self.fileButtons = [] self.buttonType = buttonType self.generateFileButtons() self.userFont = pygame.font.Font( os.path.join("data", "fonts", "PD-tarzeau_-_Atari_Small.ttf"), 24) #Carry these sprites over each update. self.carryMeOverSprites = [self.fileNameLabel] self.carryMeOverButtons = []
def __init__(self, menu, sprites=[]): MenuState.__init__(self, menu, sprites) self.entNum = 0 self.sprites = [self.fileNameLabel, self.miniMap] self.buttons = [] self.panel = StaticImage(loadImage("devmenu.png", 2), (10, 10)) self.addSprite(self.panel) self.scrollNextButton = ScrollNextButton(self) self.addButton(self.scrollNextButton) self.scrollBackButton = ScrollBackButton(self) self.addButton(self.scrollBackButton) self.snapToGridButton = SnapToGridButtonEnt(self) self.addButton(self.snapToGridButton) self.gridFillButton = GridFillButtonEnt(self) self.addButton(self.gridFillButton) self.curEntNum = 0 self.xPos = 0 self.yPos = 0 self.tallest = 0 self.processedEnts = [] self.pages = {0: []} self.curPage = 0 self.maxPage = 0 self.generateButtons() self.snapToGrid = False self.gridButtonSelectionBox = None self.gridFill = False self.gridFillButtonSelectionBox = None self.gridFillStart = None self.selectedButton = self.buttons[self.entNum + 4] self.entSelectionBox = SelectionBox(self.selectedButton.rect, self) self.addSprite(self.entSelectionBox) self.curGrabbedEnt = None self.lastMouseSpot = (0, 0) self.whereEntWasGrabbed = None
def __init__( self, image, pos, parentState=None, fixed=False ): StaticImage.__init__( self, image, pos, parentState, fixed )
def __init__( self, rect, parentState ): StaticImage.__init__( self, None, None, parentState ) self.image = pygame.Surface( ( rect.w, rect.h ) ).convert_alpha() self.image.fill( self.empty ) self.rect = rect.copy().move( -parentState.x, -parentState.y ) pygame.draw.rect( self.image, self.red, self.rect.move( -(self.rect.left), -(self.rect.top) ), 2 )
def __init__( self, menu, sprites=[] ): MenuState.__init__( self, menu, sprites ) self.buttons = [] self.sprites = [self.fileNameLabel, self.miniMap] self.panel = StaticImage( loadImage( "devmenu.png", 2 ), ( 10, 10 ) ) self.addSprite( self.panel ) self.undoButton = UndoButton( self ) self.addButton( self.undoButton ) self.redoButton = RedoButton( self ) self.addButton( self.redoButton ) self.scrollNextButton = ScrollNextButtonTiles( self ) self.addButton( self.scrollNextButton ) self.scrollBackButton = ScrollBackButtonTiles( self ) self.addButton( self.scrollBackButton ) self.removeFloorButton = RemoveFloorButton( self ) self.addButton( self.removeFloorButton ) self.addFloorButton = AddFloorButton( self ) self.addButton( self.addFloorButton ) self.editFloorButton = EditFloorButton( self ) self.addButton( self.editFloorButton ) self.topLeftLayerClamp = TopLeftLayerClamp( self ) self.bottomRightLayerClamp = BottomRightLayerClamp( self ) self.snapToGridButton = SnapToGridButtonFloor( self ) self.addButton( self.snapToGridButton ) self.hardBlitButton = HardBlitButton( self ) self.addButton( self.hardBlitButton ) #A local copy to prevent excessive look ups. self.floor = self.menu.playState.floor self.currentFloorLayer = 0 self.currentLayerIsGrabbed = False self.grabPoint = None self.snapToGrid = False self.gridButtonSelectionBox = None self.hardBlit = False self.hardBlitSelectionBox = None self.currentlyGrabbedClamp = None #Edit modes are zero for tiles, 1 for creating/editing layers, 2 for select/edit, and 3 for removing self.editMode = 0 self.tileNum = 0 self.tileFillRect = None self.xPos = 0 self.yPos = 0 self.tallest = 0 self.pages = {0:[]} self.curPage = 0 self.processedTiles = [] self.generateButtons() #For the tile placing functionality. self.startOfBlock = None self.tileSelectionBox = SelectionBox( self.pages[self.curPage][0].rect, self ) self.addSprite( self.tileSelectionBox ) self.curSelectedButton = self.pages[self.curPage][0] self.gridX, self.gridY = self.curSelectedButton.rect.w, self.curSelectedButton.rect.h self.setClamps()
def __init__(self, image, pos, parentState=None, fixed=False): StaticImage.__init__(self, image, pos, parentState, fixed)
class DefaultMenuState( MenuState ): """The DefaultMenuState is the class for the default MenuState.\n""" \ """Shocking, I know.""" floorEditButton = FloorEditButton() entityEditButton = EntityEditButton() saveMapButton = SaveMapButton() loadMapButton = LoadMapButton() tagEditButton = TagEditButton() boundEditButton = BoundaryEditButton() physicsVisButton = PhysicsVisButton() sensorEditButton = SensorEditButton() connectToButton = ConnectToButton() hostButton = HostButton() pauseStartButton = PauseStartButton() panel = StaticImage( loadImage("devmenu.png", 2), (10, 10) ) def __init__( self, menu, sprites=[panel, floorEditButton, entityEditButton, saveMapButton, loadMapButton, tagEditButton, boundEditButton, physicsVisButton, sensorEditButton, connectToButton, hostButton, pauseStartButton] ): MenuState.__init__( self, menu, sprites ) self.limitLabel = Label( self, "Pan Limits:", ( 24, 204 ), 16, False ) self.limitX1 = LimitField( self, prefix = "Left: ", text="", pos=( 24, 224 ) ) self.limitX2 = LimitField( self, prefix = "Right: ", text="", pos=( 24, 240 ) ) self.limitY1 = LimitField( self, prefix = "Top: ", text="", pos=( 24, 256 ) ) self.limitY2 = LimitField( self, prefix = "Bottom: ", text="", pos=( 24, 272 ) ) self.keyboardEnabled = True self.addSprite( self.limitLabel ) self.addButton( self.limitX1 ) self.addButton( self.limitX2 ) self.addButton( self.limitY1 ) self.addButton( self.limitY2 ) self.field = None def update( self, dt, click, clickKey, curMousePos=None ): MenuState.update( self, dt, click, clickKey, curMousePos ) inputText = self.getKeyboardInput() if self.field is not None: oldText = self.field.text if self.deleteLastChar: self.field.text = self.field.text[:-1] self.deleteLastChar = False self.field.text += inputText if self.field.text != oldText: self.field.createText() #Force a text reset on all the LimitFields not selected. playState = self.menu.playState if playState.limitX1 is not None and self.field != self.limitX1: newStr = str(playState.limitX1) if newStr != self.limitX1.text: self.limitX1.text = newStr self.limitX1.createText() if playState.limitX2 is not None and self.field != self.limitX2: newStr = str(playState.limitX2) if newStr != self.limitX2.text: self.limitX2.text = newStr self.limitX2.createText() if playState.limitY1 is not None and self.field != self.limitY1: newStr = str(playState.limitY1) if newStr != self.limitY1.text: self.limitY1.text = newStr self.limitY1.createText() if playState.limitY2 is not None and self.field != self.limitY2: newStr = str(playState.limitY2) if newStr != self.limitY2.text: self.limitY2.text = newStr self.limitY2.createText()