Пример #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()