Mercurial > fife-parpg
view clients/editor/selection.py @ 173:454ed60ad7b2
* Added a setRoleoff() function to the SoundEmitter class
This function sets AL_ROLEOFF_FACTOR. Rolloff factor judges the strength of attenuation over distance.
It effect's the volume of the emitter over distance to the listener. You'll have to do plenty
of testing to find a good value.
author | nihathrael@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Sat, 24 Jan 2009 22:26:46 +0000 |
parents | 4a0efb7baf70 |
children | 28532ae6f9f6 |
line wrap: on
line source
import pychan import pychan.widgets as widgets class Selection(): """ Selection displays a list of options for the user to select from. The result is passed to onSelection. list - the list to select from onSelection - the function to call when a selection is made. Accepts one argument: an element of the list. """ def __init__(self, list, onSelection): self.list = list self._callback = onSelection self._widget = pychan.loadXML('content/gui/selection.xml') self._widget.mapEvents({ 'okButton' : self._selected, 'cancelButton' : self._widget.hide }) self._widget.distributeInitialData({ 'optionDrop' : list }) self._widget.show() def _selected(self): selection = self._widget.collectData('optionDrop') if selection < 0: return self._callback(self.list[selection]) self._widget.hide() class ClickSelection(): """ ClickSelection displays a list of options for the user to select from. The result is passed to onSelection. Differs from Selection: the selection is made when a list element is clicked, rather than when the box is closed. list - the list to select from onSelection - the function to call when a selection is made. Accepts one argument: an element of the list. """ def __init__(self, list, onSelection): self.list = list self._callback = onSelection self._widget = pychan.loadXML('content/gui/selection.xml') self._widget.mapEvents({ 'okButton' : self._widget.hide, 'cancelButton' : self._widget.hide, 'optionDrop' : self._selected }) self._widget.distributeInitialData({ 'optionDrop' : list }) self._widget.show() def _selected(self): selection = self._widget.collectData('optionDrop') if selection < 0: return self._callback(self.list[selection])