Example #1
0
 def buildPopup(self, instance):
     '''Builds a popup instance.text = player.name'''
     content = BoxLayout(orientation='vertical')
     for entry in Mafia.aliveList:
         if entry.name == instance.text:
             player = entry
     popup = Popup(title=player.role, content = content,
         size_hint=(.8, .8), auto_dismiss=False)
     dismissButton = Factory.SmallTextButton(size_hint=(1, .3), text='Take no action')
     if gameRoles.get(player.role).get('target') == True:
         actionGrid = GridLayout(cols=2, padding=5, spacing=5)
         content.add_widget(actionGrid)
         #adds feedback to button text
         if player.faction == 'Mafia':
             if self.mafiaKill == True:
                 label = Label(text='One of your partners has already preformed your team kill')
                 content.add_widget(label)
             else:
                 self.mafiaKill = True
                 label = Label(text='Preform the Mafia faction kill.', size_hint=(1, .2))
                 content.add_widget(label)
                 for entry in [i for i in Mafia.aliveList if i.faction == 'Town']:
                     button = ToggleButton(text=entry.name, group='Town')
                     button.action = 'kill'
                     button.bind(on_press=self.update)
                     actionGrid.add_widget(button)
                     dismissButton.text = ('Submit action: %(action)s %(target)s ' %
                     {'action': button.action, 'target': self.killTarget})
         elif player.role == 'Doctor':
             label = Label(text=gameRoles.get('Doctor').get('info'), size_hint=(1, .2))
             for entry in [i for i in Mafia.aliveList if i.name != player.name]:
                 button = Button(text=entry.name)
                 button.action = 'protect'
                 button.bind(on_press=self.update)
                 actionGrid.add_widget(button)
         elif player.role == 'Cop':
             label = Label(text=gameRoles.get('Cop').get('info'), size_hint=(1, .2))
             for entry in [i for i in Mafia.aliveList if i.name != player.name]:
                 button = Button(text=entry.name)
                 button.action = 'investigate'
                 button.bind(on_press=self.investigate)
                 button.bind(on_press=self.clearGrid)
                 actionGrid.add_widget(button)
     else:
         content.add_widget(Label(text='Hello %s' % player.name))
     popup.name = instance.text
     content.add_widget(dismissButton)
     dismissButton.bind(on_press=popup.dismiss)
     popup.bind(on_dismiss=self.removeButton)
     popup.open()
Example #2
0
    def buildPopup(self, instance):
        '''Builds a popup, instance.text == Player.name'''
        #search for Player()
        content = BoxLayout(orientation='vertical')
        for entry in Mafia.aliveList:
            if entry.name == instance.text:
                player = entry

        content.add_widget(multiLineLabel(text=gameRoles.get(player.role).get('info'),
            halign='center', valign='middle' ))
        if gameRoles.get(player.role).get('partner') == True:
            if player.role == 'Mason':
                #search for other masons
                partners = []
                for entry in Mafia.aliveList:
                    if entry.role == 'Mason':
                        partners.append(entry)
                partners[:] = [i for i in partners if i.name != instance.text]
                partnerStr = ''
                for n in partners:
                    partnerStr += '\n' + n.name + ' the Mason'
            else:
                partners = []
                for entry in Mafia.aliveList:
                    if entry.faction == 'Mafia':
                        partners.append(entry)
                #removes playerName from set via instance.text
                partners[:] = [i for i in partners if i.name != instance.text]
                partnerStr = ''
                #build a string
                for n in partners:
                    partnerStr += '\n ' + n.name + ' the ' + n.role + '\n'
            content.add_widget(Label(text=(' You are teamed up with:  [b]%s[/b]' % partnerStr), markup=True,
            halign='center', valign='middle'))
        rolePopup = Popup(title =('Hello, %s' % instance.name), content=content,
            size_hint=(.8, .8), auto_dismiss=False)
        rolePopup.name = instance.text
        #dismissButton = Button(text='Destroy this message')
        #dismissButton.bind(on_press=rolePopup.dismiss)
        button = Factory.SmallTextButton(text='Destroy this message')
        content.add_widget(button)
        button.bind(on_press=rolePopup.dismiss)
        rolePopup.bind(on_dismiss=self.removeButton)
        rolePopup.open()