Skip to content

Commit dab8d9a

Browse files
committed
New credits/rules/about scene content
1 parent e2b9fc4 commit dab8d9a

11 files changed

Lines changed: 782 additions & 147 deletions

code/gameviewcredits.pas

Lines changed: 50 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
unit GameViewCredits;
22

3+
{$mode delphi}
4+
35
interface
46

57
uses
@@ -11,15 +13,21 @@ interface
1113
type
1214
TViewCredits = class(TCastleView)
1315
published
14-
ButtonMenu, ButtonCastle, ButtonAuthor: TCastleButton;
16+
ButtonMenu, ButtonCredits, ButtonRules, ButtonKeys, ButtonWeapon,
17+
ButtonCastle, ButtonAuthor, ButtonItch, ButtonDiscord, ButtonWeb: TCastleButton;
18+
GroupCredits, GroupRules, GroupKeys, GroupWeapon: TCastleUserInterface;
1519
public
1620
constructor Create(AOwner: TComponent); override;
1721
procedure Start; override;
1822
function Press(const Event: TInputPressRelease): Boolean; override;
1923
private
2024
procedure ButtonMenuClick(Sender: TObject);
25+
procedure ButtonPanelClick(Sender: TObject);
2126
procedure ButtonCastleClick(Sender: TObject);
2227
procedure ButtonAuthorClick(Sender: TObject);
28+
procedure ButtonItchClick(Sender: TObject);
29+
procedure ButtonDiscordClick(Sender: TObject);
30+
procedure ButtonWebClick(Sender: TObject);
2331
end;
2432

2533
var
@@ -31,7 +39,7 @@ implementation
3139
// System
3240
SysUtils,
3341
// Castle
34-
castlewindow, CastleOpenDocument,
42+
castlewindow, CastleOpenDocument, CastleApplicationProperties,
3543
// Own
3644
gameviewmain;
3745

@@ -44,9 +52,18 @@ constructor TViewCredits.Create(AOwner: TComponent);
4452
procedure TViewCredits.Start;
4553
begin
4654
inherited;
47-
ButtonMenu.OnClick := @ButtonMenuClick;
48-
ButtonCastle.OnClick := @ButtonCastleClick;
49-
ButtonAuthor.OnClick := @ButtonAuthorClick;
55+
ButtonMenu.OnClick := ButtonMenuClick;
56+
ButtonCredits.OnClick := ButtonPanelClick;
57+
ButtonRules.OnClick := ButtonPanelClick;
58+
ButtonKeys.OnClick := ButtonPanelClick;
59+
ButtonWeapon.OnClick := ButtonPanelClick;
60+
ButtonCastle.OnClick := ButtonCastleClick;
61+
ButtonAuthor.OnClick := ButtonAuthorClick;
62+
ButtonItch.OnClick := ButtonItchClick;
63+
ButtonDiscord.OnClick := ButtonDiscordClick;
64+
ButtonWeb.OnClick := ButtonWebClick;
65+
66+
ButtonKeys.Exists := ApplicationProperties.ShowUserInterfaceToQuit {$IFDEF WASI} or True {$ENDIF};
5067
end;
5168

5269
function TViewCredits.Press(const Event: TInputPressRelease): Boolean;
@@ -74,6 +91,33 @@ procedure TViewCredits.ButtonCastleClick(Sender: TObject);
7491
procedure TViewCredits.ButtonAuthorClick(Sender: TObject);
7592
begin
7693
OpenURL('https://github.com/phomm/Towerfight');
77-
end;
94+
end;
95+
96+
procedure TViewCredits.ButtonItchClick(Sender: TObject);
97+
begin
98+
OpenURL('https://phomm.itch.io/tower-fight');
99+
end;
100+
101+
procedure TViewCredits.ButtonDiscordClick(Sender: TObject);
102+
begin
103+
OpenURL('https://discord.gg/fz7bbM3dr3');
104+
end;
105+
106+
procedure TViewCredits.ButtonWebClick(Sender: TObject);
107+
begin
108+
OpenURL('https://ephyre.ru');
109+
end;
110+
111+
procedure TViewCredits.ButtonPanelClick(Sender: TObject);
112+
begin
113+
GroupCredits.Exists := Sender = ButtonCredits;
114+
GroupRules.Exists := Sender = ButtonRules;
115+
GroupKeys.Exists := Sender = ButtonKeys;
116+
GroupWeapon.Exists := Sender = ButtonWeapon;
117+
ButtonCredits.Pressed := Sender = ButtonCredits;
118+
ButtonRules.Pressed := Sender = ButtonRules;
119+
ButtonKeys.Pressed := Sender = ButtonKeys;
120+
ButtonWeapon.Pressed := Sender = ButtonWeapon;
121+
end;
78122

79123
end.

code/gameviewformula.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ procedure TViewFormula.Resume;
8585
if AMarked then
8686
begin
8787
LButton.ImageScale := 0.2;
88-
LButton.Image.Url := 'castle-data:/resources/' + WeaponFileNames[Weapon];
88+
LButton.Image.Url := 'castle-data:/resources/' + WeaponFileNames[Weapon];
8989
end
9090
else
9191
begin

code/gameviewgame.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ function TViewGame.Press(const Event: TInputPressRelease): Boolean;
299299
if Result then Exit; // allow the ancestor to handle keys
300300
if FPause then Exit;
301301

302-
if Event.IsKey(keyEscape) or Event.IsKey(keyBackSpace) then
302+
if Event.IsKey(keyEscape) or Event.IsKey(keyBackSpace) or Event.IsKey(keyEnter) then
303303
begin
304304
ButtonDefeat.DoClick();
305305
Exit(True); // key was handled

0 commit comments

Comments
 (0)