Picking up on the main_menu.py, and computer_lib.py functionality, which heavily utilize GUI.py classes, I have encountered some problems on the way.
To better visualize and discuss how to overcome them, I have 2 screens included. Please note that this is a very early development version and the base computer UI will have a completely different looks once the functionality is working.
screen 1:
screen 2:
Before discussing the problems, some good news on what is workng well:
* Onle-line integration in base python files, i.e. substitute "Base.Comp (...)" with "base_computer.MakeBaseComputer(...)"
* animated backgrounds work just fine (compare screen 1 and 2, the background is rotated counter-clockwise
* probably animated buttons (though not tested) and button states (again, not tested)
* color codes for text (see right text with system info)
I have just tried porting missions bbs, load/save, and faction relations, no ShipDealer or Cargo trading yet, and came across the following problems:
1) When linking a base room to the base computer, still the main menu buttons are being shown. As a remedy I do reinitialize the GUI with each call:
Code: Select all
def MakeBaseComputer(...):
GUI.GUIInit(1280,1024)
2) When linking from different base rooms to different computers, some buttons tend to disappear, which I believe is the effect of the GUIInit. A better way might be to instewad of calling the base computer class from the above function, to instantiate the class directly from the base py file "base_computer.BaseComputer(...)"
3) The list picker class "GUISimpleListPicker" does not offer a handler for selection change, which makes the displaying of missions a bit annoying as the user would need to select a mission first, and then confirm with another button to display the mission text.
4) Screen 1 presents the state of the base comp after first entry. When clicking one of the menu buttons the right text screen changes its background color (screen 2) to the font color of the picker screen, no clue why as that is not programmed anywhere in the code base_comp code. It looks like the GUI class is not handling that right.
Enough for now. Any tips on how to advance with any one of the items are appreciated.