close Warning: Can't synchronize with repository "(default)" (No changeset 184 in the repository). Look in the Trac log for more information.

source: tags/1.2.0/Forms/UFormPlayer.pas

Last change on this file was 134, checked in by chronos, 7 years ago
  • Added: Player starts units can be configured in player dialog.
File size: 2.5 KB
Line 
1unit UFormPlayer;
2
3{$mode delphi}
4
5interface
6
7uses
8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
9 ColorBox, Menus, Spin, UGame;
10
11type
12
13 { TFormPlayer }
14
15 TFormPlayer = class(TForm)
16 ButtonCancel: TButton;
17 ButtonOk: TButton;
18 CheckBoxDefensive: TCheckBox;
19 ColorBox1: TColorBox;
20 ComboBoxMode: TComboBox;
21 ComboBoxAgressivity: TComboBox;
22 EditName: TEdit;
23 Label1: TLabel;
24 Label2: TLabel;
25 Label3: TLabel;
26 Label4: TLabel;
27 Label5: TLabel;
28 SpinEditStartUnits: TSpinEdit;
29 procedure ComboBoxModeChange(Sender: TObject);
30 procedure FormShow(Sender: TObject);
31 private
32 { private declarations }
33 public
34 procedure Translate;
35 procedure UpdateInterface;
36 procedure Load(Player: TPlayer);
37 procedure Save(Player: TPlayer);
38 end;
39
40var
41 FormPlayer: TFormPlayer;
42
43implementation
44
45{$R *.lfm}
46
47resourcestring
48 SHuman = 'Human';
49 SComputer = 'Computer';
50 SAgroLow = 'Low';
51 SAgroMedium = 'Medium';
52 SAgroHigh = 'High';
53
54{ TFormPlayer }
55
56procedure TFormPlayer.ComboBoxModeChange(Sender: TObject);
57begin
58 UpdateInterface;
59end;
60
61procedure TFormPlayer.FormShow(Sender: TObject);
62begin
63 UpdateInterface;
64end;
65
66procedure TFormPlayer.Translate;
67var
68 LastIndex: Integer;
69begin
70 with ComboBoxMode do begin
71 LastIndex := ItemIndex;
72 Clear;
73 Items.Add(SHuman);
74 Items.Add(SComputer);
75 ItemIndex := LastIndex;
76 end;
77 with ComboBoxAgressivity do begin
78 LastIndex := ItemIndex;
79 Clear;
80 Items.Add(SAgroLow);
81 Items.Add(SAgroMedium);
82 Items.Add(SAgroHigh);
83 ItemIndex := LastIndex;
84 end;
85end;
86
87procedure TFormPlayer.UpdateInterface;
88begin
89 ComboBoxAgressivity.Visible := ComboBoxMode.ItemIndex = 1;
90 CheckBoxDefensive.Visible := ComboBoxMode.ItemIndex = 1;
91 Label4.Visible := ComboBoxMode.ItemIndex = 1;
92end;
93
94procedure TFormPlayer.Load(Player: TPlayer);
95begin
96 EditName.Text := Player.Name;
97 ComboBoxMode.ItemIndex := Integer(Player.Mode);
98 ColorBox1.Selected := Player.Color;
99 ComboBoxAgressivity.ItemIndex := Integer(Player.Agressivity);
100 CheckBoxDefensive.Checked := Player.Defensive;
101 SpinEditStartUnits.Value := Player.StartUnits;
102 UpdateInterface;
103end;
104
105procedure TFormPlayer.Save(Player: TPlayer);
106begin
107 Player.Name := EditName.Text;
108 Player.Mode := TPlayerMode(ComboBoxMode.ItemIndex);
109 Player.Color := ColorBox1.Selected;
110 Player.Agressivity := TComputerAgressivity(ComboBoxAgressivity.ItemIndex);
111 Player.Defensive := CheckBoxDefensive.Checked;
112 Player.StartUnits := SpinEditStartUnits.Value;
113end;
114
115end.
116
Note: See TracBrowser for help on using the repository browser.