1 | unit UFormPlayer;
|
---|
2 |
|
---|
3 | {$mode delphi}
|
---|
4 |
|
---|
5 | interface
|
---|
6 |
|
---|
7 | uses
|
---|
8 | Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
---|
9 | ColorBox, Menus, Spin, UGame;
|
---|
10 |
|
---|
11 | type
|
---|
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 |
|
---|
40 | var
|
---|
41 | FormPlayer: TFormPlayer;
|
---|
42 |
|
---|
43 | implementation
|
---|
44 |
|
---|
45 | {$R *.lfm}
|
---|
46 |
|
---|
47 | resourcestring
|
---|
48 | SHuman = 'Human';
|
---|
49 | SComputer = 'Computer';
|
---|
50 | SAgroLow = 'Low';
|
---|
51 | SAgroMedium = 'Medium';
|
---|
52 | SAgroHigh = 'High';
|
---|
53 |
|
---|
54 | { TFormPlayer }
|
---|
55 |
|
---|
56 | procedure TFormPlayer.ComboBoxModeChange(Sender: TObject);
|
---|
57 | begin
|
---|
58 | UpdateInterface;
|
---|
59 | end;
|
---|
60 |
|
---|
61 | procedure TFormPlayer.FormShow(Sender: TObject);
|
---|
62 | begin
|
---|
63 | UpdateInterface;
|
---|
64 | end;
|
---|
65 |
|
---|
66 | procedure TFormPlayer.Translate;
|
---|
67 | var
|
---|
68 | LastIndex: Integer;
|
---|
69 | begin
|
---|
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;
|
---|
85 | end;
|
---|
86 |
|
---|
87 | procedure TFormPlayer.UpdateInterface;
|
---|
88 | begin
|
---|
89 | ComboBoxAgressivity.Visible := ComboBoxMode.ItemIndex = 1;
|
---|
90 | CheckBoxDefensive.Visible := ComboBoxMode.ItemIndex = 1;
|
---|
91 | Label4.Visible := ComboBoxMode.ItemIndex = 1;
|
---|
92 | end;
|
---|
93 |
|
---|
94 | procedure TFormPlayer.Load(Player: TPlayer);
|
---|
95 | begin
|
---|
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;
|
---|
103 | end;
|
---|
104 |
|
---|
105 | procedure TFormPlayer.Save(Player: TPlayer);
|
---|
106 | begin
|
---|
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;
|
---|
113 | end;
|
---|
114 |
|
---|
115 | end.
|
---|
116 |
|
---|