diff options
author | whiteshark0 <whiteshark0@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2007-04-29 17:50:29 +0000 |
---|---|---|
committer | whiteshark0 <whiteshark0@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2007-04-29 17:50:29 +0000 |
commit | bda4fa8e57ca63a1d591433f120b4226d6a5d327 (patch) | |
tree | 745df64699fdc0b6e2deafc99107f86166232aa9 /Game/Code/Menu/UMenuButtonCollection.pas | |
parent | 23e4d293dc19ce496da33b3929c9b71952148e86 (diff) | |
download | usdx-bda4fa8e57ca63a1d591433f120b4226d6a5d327.tar.gz usdx-bda4fa8e57ca63a1d591433f120b4226d6a5d327.tar.xz usdx-bda4fa8e57ca63a1d591433f120b4226d6a5d327.zip |
Added 2 new Buttons to ScreenMain: Multi and Stats
Updated Language Fiels to Fit with new Buttons
Some CodeClean Up in Menu Class and in Screens
Some minor Bug fixes I forgot about
Added ability to group Buttons within a Screen
New Theme Object:
ButtonCollection:
Same Attributes as a Button Plus
FirstChild: Defining the First Button in the Group.
For Example: SingSolo is 1, SingMulti Button is 2, in ScreenMain
Added Attribute to Theme Button:
Parent: Number of the assigned Group, 0 for no Group
Used new Abilitys in MainScreen
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@149 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'Game/Code/Menu/UMenuButtonCollection.pas')
-rw-r--r-- | Game/Code/Menu/UMenuButtonCollection.pas | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/Game/Code/Menu/UMenuButtonCollection.pas b/Game/Code/Menu/UMenuButtonCollection.pas new file mode 100644 index 00000000..66ac70fc --- /dev/null +++ b/Game/Code/Menu/UMenuButtonCollection.pas @@ -0,0 +1,59 @@ +unit UMenuButtonCollection;
+
+interface
+uses UMenuButton;
+
+type
+ //----------------
+ //TButtonCollection
+ //No Extra Attributes or Functions ATM
+ //----------------
+ AButton = Array of TButton;
+ PAButton = ^AButton;
+ TButtonCollection = class(TButton)
+ //num of the First Button, that can be Selected
+ FirstChild: Byte;
+ CountChilds: Byte;
+
+ ScreenButton: PAButton;
+
+ procedure SetSelect(Value : Boolean); override;
+ procedure Draw; override;
+ end;
+
+implementation
+
+procedure TButtonCollection.SetSelect(Value : Boolean);
+var I: Integer;
+begin
+ inherited;
+
+ //Set Visible for Every Button that is a Child of this ButtonCollection
+ if (Not Fade) then
+ For I := 0 to High(ScreenButton^) do
+ if (ScreenButton^[I].Parent = Parent) then
+ ScreenButton^[I].Visible := Value;
+end;
+
+procedure TButtonCollection.Draw;
+var I: Integer;
+begin
+ inherited;
+ //If fading is activated, Fade Child Buttons
+ if (Fade) then
+ begin
+ For I := 0 to High(ScreenButton^) do
+ if (ScreenButton^[I].Parent = Parent) then
+ begin
+ if (FadeProgress < 0.5) then
+ ScreenButton^[I].Visible := SelectBool
+ else
+ ScreenButton^[I].Texture.Alpha := (FadeProgress-0.666)*3;
+ //ScreenButton^[I].Text[0].
+ end;
+ end;
+end;
+
+
+
+end.
|