Changeset 18 for trunk/UFormNew.pas
- Timestamp:
- Feb 26, 2014, 9:45:23 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/UFormNew.pas
r15 r18 24 24 SpinEditMapSizeX: TSpinEdit; 25 25 SpinEditMapSizeY: TSpinEdit; 26 procedure ButtonPlayerAddClick(Sender: TObject); 27 procedure ButtonPlayerRemoveClick(Sender: TObject); 28 procedure FormCreate(Sender: TObject); 29 procedure FormDestroy(Sender: TObject); 30 procedure FormShow(Sender: TObject); 31 procedure ListView1Data(Sender: TObject; Item: TListItem); 32 procedure ListView1SelectItem(Sender: TObject; Item: TListItem; 33 Selected: Boolean); 26 34 private 27 { private declarations }35 Players: TPlayers; 28 36 public 37 procedure ReloadView; 29 38 procedure Load(Game: TGame); 30 39 procedure Save(Game: TGame); … … 40 49 { TFormNew } 41 50 51 procedure TFormNew.ListView1Data(Sender: TObject; Item: TListItem); 52 begin 53 if (Item.Index >= 0) and (Item.Index < Players.Count) then 54 with TPlayer(Players[Item.Index]) do begin 55 Item.Caption := Name; 56 Item.Data := Players[Item.Index]; 57 Item.SubItems.Add(PlayerModeText[Mode]); 58 Item.SubItems.Add(IntToStr(Color)); 59 Item.SubItems.Add(IntToStr(StartUnits)); 60 end; 61 end; 62 63 procedure TFormNew.ListView1SelectItem(Sender: TObject; Item: TListItem; 64 Selected: Boolean); 65 begin 66 ReloadView; 67 end; 68 69 procedure TFormNew.ReloadView; 70 begin 71 ListView1.Items.Count := Players.Count; 72 ListView1.Refresh; 73 ButtonPlayerRemove.Enabled := Assigned(ListView1.Selected); 74 end; 75 76 procedure TFormNew.FormShow(Sender: TObject); 77 begin 78 ReloadView; 79 end; 80 81 procedure TFormNew.FormCreate(Sender: TObject); 82 begin 83 Players := TPlayers.Create; 84 end; 85 86 procedure TFormNew.ButtonPlayerRemoveClick(Sender: TObject); 87 begin 88 if Assigned(ListView1.Selected) then 89 Players.Remove(ListView1.Selected.Data); 90 ReloadView; 91 end; 92 93 procedure TFormNew.ButtonPlayerAddClick(Sender: TObject); 94 var 95 NewPlayer: TPlayer; 96 begin 97 NewPlayer := TPlayer.Create; 98 NewPlayer.Name := 'Player x'; 99 NewPlayer.Color := clYellow; 100 Players.Add(NewPlayer); 101 ReloadView; 102 end; 103 104 procedure TFormNew.FormDestroy(Sender: TObject); 105 begin 106 Players.Free; 107 end; 108 42 109 procedure TFormNew.Load(Game: TGame); 43 110 var … … 46 113 begin 47 114 CheckBoxVoid.Checked := Game.VoidEnabled; 48 ListView1.Items.Clear;49 for I := 0 to Game.Players.Count - 1 do50 with TPlayer(Game.Players[I]) do begin51 NewItem := ListView1.Items.Add;52 NewItem.Caption := Name;53 NewItem.SubItems.Add(PlayerModeText[Mode]);115 for I := 0 to Players.Count - 1 do 116 TPlayer(Players[I]).Free; 117 Players.Count := Game.Players.Count; 118 for I := 0 to Game.Players.Count - 1 do begin 119 Players[I] := TPlayer.Create; 120 TPlayer(Players[I]).Assign(TPlayer(Game.Players[I])); 54 121 end; 55 122 SpinEditMapSizeX.Value := Game.Map.Size.X;
Note:
See TracChangeset
for help on using the changeset viewer.