Changeset 291


Ignore:
Timestamp:
Mar 26, 2019, 1:16:27 PM (6 years ago)
Author:
chronos
Message:
  • Modified: UnitKind list and items converted to general item list.
Location:
trunk
Files:
4 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Forms/UFormClient.pas

    r274 r291  
    199199    end else begin
    200200      {$ifdef WINDOWS}
    201       PaintBox1.Canvas.Brush.Color := BackgroundColor; //clBackground; //PaintBox1.GetColorResolvingParent;
     201      PaintBox1.Canvas.Brush.Color := MapBackgroundColor; //clBackground; //PaintBox1.GetColorResolvingParent;
    202202      PaintBox1.Canvas.FillRect(0, 0, PaintBox1.Width, PaintBox1.Height);
    203203      {$endif}
  • trunk/Forms/UFormGameSystem.lfm

    r289 r291  
    11object FormGameSystem: TFormGameSystem
    22  Left = 571
    3   Height = 578
     3  Height = 482
    44  Top = 364
    5   Width = 781
     5  Width = 651
    66  Caption = 'Game system'
    7   ClientHeight = 578
    8   ClientWidth = 781
    9   DesignTimePPI = 144
     7  ClientHeight = 482
     8  ClientWidth = 651
     9  DesignTimePPI = 120
    1010  OnClose = FormClose
    1111  OnCreate = FormCreate
     
    1414  LCLVersion = '2.0.0.4'
    1515  object ButtonSave: TButton
    16     Left = 160
    17     Height = 38
    18     Top = 528
    19     Width = 113
     16    Left = 133
     17    Height = 32
     18    Top = 440
     19    Width = 94
    2020    Anchors = [akLeft, akBottom]
    2121    Caption = 'Save'
    2222    OnClick = ButtonSaveClick
     23    ParentFont = False
    2324    TabOrder = 0
    2425  end
    2526  object ButtonLoad: TButton
    26     Left = 24
    27     Height = 38
    28     Top = 528
    29     Width = 113
     27    Left = 20
     28    Height = 32
     29    Top = 440
     30    Width = 94
    3031    Anchors = [akLeft, akBottom]
    3132    Caption = 'Load'
    3233    OnClick = ButtonLoadClick
     34    ParentFont = False
    3335    TabOrder = 1
    3436  end
    3537  object ButtonCancel: TButton
    36     Left = 504
    37     Height = 38
    38     Top = 528
    39     Width = 113
     38    Left = 420
     39    Height = 32
     40    Top = 440
     41    Width = 94
    4042    Anchors = [akRight, akBottom]
    4143    Caption = 'Cancel'
    4244    ModalResult = 2
     45    ParentFont = False
    4346    TabOrder = 2
    4447  end
    4548  object ButtonOk: TButton
    46     Left = 647
    47     Height = 38
    48     Top = 528
    49     Width = 113
     49    Left = 539
     50    Height = 32
     51    Top = 440
     52    Width = 94
    5053    Anchors = [akRight, akBottom]
    5154    Caption = 'OK'
    5255    ModalResult = 1
     56    ParentFont = False
    5357    TabOrder = 3
    5458  end
    5559  object PageControl1: TPageControl
    56     Left = 16
    57     Height = 496
    58     Top = 16
    59     Width = 744
     60    Left = 13
     61    Height = 414
     62    Top = 13
     63    Width = 620
    6064    ActivePage = TabSheetBuildings
    6165    Anchors = [akTop, akLeft, akRight, akBottom]
     66    ParentFont = False
    6267    TabIndex = 3
    6368    TabOrder = 4
     
    6671      ClientHeight = 456
    6772      ClientWidth = 734
     73      ParentFont = False
    6874      object CheckBoxEmptyCellsNeutral: TCheckBox
    69         Left = 16
     75        Left = 13
    7076        Height = 30
    71         Top = 16
     77        Top = 13
    7278        Width = 362
    7379        Caption = 'Set cells without player units as neutral'
     80        ParentFont = False
    7481        TabOrder = 0
    7582      end
    7683      object CheckBoxUnitsSplitMerge: TCheckBox
    77         Left = 16
     84        Left = 13
    7885        Height = 30
    79         Top = 55
     86        Top = 46
    8087        Width = 231
    8188        Caption = 'Units can split or merge'
     89        ParentFont = False
    8290        TabOrder = 1
    8391      end
    8492      object CheckBoxUnitsMoveImmediately: TCheckBox
    85         Left = 16
     93        Left = 13
    8694        Height = 30
    87         Top = 95
     95        Top = 79
    8896        Width = 234
    8997        Caption = 'Units move immediately'
     98        ParentFont = False
    9099        TabOrder = 2
    91100      end
     
    93102    object TabSheetUnits: TTabSheet
    94103      Caption = 'Units'
     104      ParentFont = False
    95105    end
    96106    object TabSheetNations: TTabSheet
    97107      Caption = 'Nations'
     108      ParentFont = False
    98109    end
    99110    object TabSheetBuildings: TTabSheet
    100111      Caption = 'Buildings'
     112      ParentFont = False
    101113    end
    102114  end
    103115  object OpenDialog1: TOpenDialog
    104     left = 440
    105     top = 160
     116    left = 367
     117    top = 133
    106118  end
    107119  object SaveDialog1: TSaveDialog
    108     left = 232
    109     top = 160
     120    left = 193
     121    top = 133
    110122  end
    111123end
  • trunk/Forms/UFormGameSystem.pas

    r290 r291  
    77uses
    88  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
    9   ComCtrls, UGameSystem, UFormUnitKinds,
    10   UFormList;
     9  ComCtrls, UGameSystem, UFormList;
    1110
    1211type
     
    3736  private
    3837    FGameSystem: TGameSystem;
    39     FormUnitKinds: TFormUnitKinds;
     38    FormUnitKinds: TFormList;
    4039    FormNations: TFormList;
    4140    FormBuildingKinds: TFormList;
     
    9594  Core.ThemeManager1.UseTheme(Self);
    9695  Core.CoolTranslator1.TranslateComponentRecursive(Self);
    97   FormUnitKinds := TFormUnitKinds.Create(nil);
     96  FormUnitKinds := TFormList.Create(nil);
    9897  FormUnitKinds.ManualDock(TabSheetUnits, nil, alClient);
    9998  FormUnitKinds.Align := alClient;
     
    126125  if FGameSystem = AValue then Exit;
    127126  if Assigned(FGameSystem) then begin
    128     FormUnitKinds.UnitKinds := nil;
     127    FormUnitKinds.List := nil;
    129128    FormNations.List := nil;
    130129    FormBuildingKinds.List := nil;
     
    132131  FGameSystem := AValue;
    133132  if Assigned(FGameSystem) then begin
    134     FormUnitKinds.UnitKinds := GameSystem.UnitKinds;
     133    FormUnitKinds.List := GameSystem.UnitKinds;
    135134    FormNations.List := GameSystem.Nations;
    136135    FormBuildingKinds.List := GameSystem.BuildingKinds;
  • trunk/Forms/UFormItem.pas

    r290 r291  
    7979    InitControls;
    8080    LoadData(Item);
    81     Caption := Item.GetClassSysName;
     81    Caption := Item.GetClassName;
    8282  end else begin
    8383    DataControls.Clear;
     
    157157      NewControl := TCheckBox.Create(nil);
    158158    end else raise Exception.Create('Unsupported type ' + IntToStr(Integer(DataType)));
    159     NewControl.Left := 100;
     159    NewControl.Left := 150;
    160160    NewControl.Top := Y;
    161161    NewControl.Parent := Self;
    162162    Core.CoolTranslator1.TranslateComponent(NewControl);
     163    Core.ThemeManager1.ApplyTheme(NewControl);
    163164    NewControl.Visible := True;
    164165    DataControls.Add(NewControl);
  • trunk/UCore.pas

    r287 r291  
    557557      Color := clFuchsia;
    558558    end;
    559     with UnitKinds.AddNew('Unit') do begin
     559    with TUnitKind(UnitKinds.AddItem('Unit')) do begin
    560560      Moves := 1;
    561561      Power := 99;
     
    591591      Color := clFuchsia;
    592592    end;
    593     with UnitKinds.AddNew('Unit') do begin
     593    with TUnitKind(UnitKinds.AddItem('Unit')) do begin
    594594      Moves := 1;
    595595      Power := 99;
     
    604604      Color := clFuchsia;
    605605    end;
    606     with UnitKinds.AddNew('Scout') do begin
    607       Moves := 1;
    608       Power := 1;
    609     end;
    610     with UnitKinds.AddNew('Settler') do begin
     606    with TUnitKind(UnitKinds.AddItem('Scout')) do begin
     607      Moves := 1;
     608      Power := 1;
     609    end;
     610    with TUnitKind(UnitKinds.AddItem('Settler')) do begin
    611611      Moves := 1;
    612612      Power := 1;
     
    618618    UnitsMoveImmediately := True;
    619619    MaxPlayerCount := 3;
    620     with UnitKinds.AddNew('Scout') do begin
    621       Moves := 1;
    622       Power := 1;
    623     end;
    624     with UnitKinds.AddNew('Settler') do begin
     620    with TUnitKind(UnitKinds.AddItem('Scout')) do begin
     621      Moves := 1;
     622      Power := 1;
     623    end;
     624    with TUnitKind(UnitKinds.AddItem('Settler')) do begin
    625625      Moves := 1;
    626626      Power := 1;
     
    632632    UnitsMoveImmediately := True;
    633633    MaxPlayerCount := 3;
    634     with UnitKinds.AddNew('Scout') do begin
    635       Moves := 1;
    636       Power := 1;
    637     end;
    638     with UnitKinds.AddNew('Settler') do begin
     634    with TUnitKind(UnitKinds.AddItem('Scout')) do begin
     635      Moves := 1;
     636      Power := 1;
     637    end;
     638    with TUnitKind(UnitKinds.AddItem('Settler')) do begin
    639639      Moves := 1;
    640640      Power := 1;
     
    646646    UnitsMoveImmediately := True;
    647647    MaxPlayerCount := 3;
    648     with UnitKinds.AddNew('Scout') do begin
    649       Moves := 1;
    650       Power := 1;
    651     end;
    652     with UnitKinds.AddNew('Settler') do begin
     648    with TUnitKind(UnitKinds.AddItem('Scout')) do begin
     649      Moves := 1;
     650      Power := 1;
     651    end;
     652    with TUnitKind(UnitKinds.AddItem('Settler')) do begin
    653653      Moves := 1;
    654654      Power := 1;
     
    660660    UnitsMoveImmediately := True;
    661661    MaxPlayerCount := 3;
    662     with UnitKinds.AddNew('Scout') do begin
    663       Moves := 1;
    664       Power := 1;
    665     end;
    666     with UnitKinds.AddNew('Settler') do begin
     662    with TUnitKind(UnitKinds.AddItem('Scout')) do begin
     663      Moves := 1;
     664      Power := 1;
     665    end;
     666    with TUnitKind(UnitKinds.AddItem('Settler')) do begin
    667667      Moves := 1;
    668668      Power := 1;
     
    674674    UnitsMoveImmediately := True;
    675675    MaxPlayerCount := 3;
    676     with UnitKinds.AddNew('Scout') do begin
    677       Moves := 1;
    678       Power := 1;
    679     end;
    680     with UnitKinds.AddNew('Settler') do begin
     676    with TUnitKind(UnitKinds.AddItem('Scout')) do begin
     677      Moves := 1;
     678      Power := 1;
     679    end;
     680    with TUnitKind(UnitKinds.AddItem('Settler')) do begin
    681681      Moves := 1;
    682682      Power := 1;
     
    706706      Color := clOrange;
    707707    end;
    708     with UnitKinds.AddNew('Light Infantry') do begin
    709       Moves := 1;
    710     end;
    711     with UnitKinds.AddNew('Heavy Troopers') do begin
    712       Moves := 1;
    713     end;
    714     with UnitKinds.AddNew('Trike') do begin
    715       Moves := 1;
    716     end;
    717     with UnitKinds.AddNew('Quad') do begin
     708    with TUnitKind(UnitKinds.AddItem('Light Infantry')) do begin
     709      Moves := 1;
     710    end;
     711    with TUnitKind(UnitKinds.AddItem('Heavy Troopers')) do begin
     712      Moves := 1;
     713    end;
     714    with TUnitKind(UnitKinds.AddItem('Trike')) do begin
     715      Moves := 1;
     716    end;
     717    with TUnitKind(UnitKinds.AddItem('Quad')) do begin
    718718      Moves := 1;
    719719    end;
     
    724724    UnitsMoveImmediately := True;
    725725    MaxPlayerCount := 8;
    726     with UnitKinds.AddNew('Demon 132') do begin
     726    with TUnitKind(UnitKinds.AddItem('Demon 132')) do begin
    727727      Moves := 4;
    728728      Power := 10;
    729729    end;
    730     with UnitKinds.AddNew('Troll 142') do begin
     730    with TUnitKind(UnitKinds.AddItem('Troll 142')) do begin
    731731      Moves := 3;
    732732      Power := 10;
    733733    end;
    734     with UnitKinds.AddNew('Ranger 132') do begin
     734    with TUnitKind(UnitKinds.AddItem('Ranger 132')) do begin
    735735      Moves := 10;
    736736      Power := 10;
    737737    end;
    738     with UnitKinds.AddNew('Buggy') do begin
     738    with TUnitKind(UnitKinds.AddItem('Buggy')) do begin
    739739      Moves := 10;
    740740      Power := 10;
     
    755755      Color := clGreen;
    756756    end;
    757     with UnitKinds.AddNew('Rifle Team') do begin
    758       Moves := 1;
    759     end;
    760     with UnitKinds.AddNew('Machine Gun') do begin
    761       Moves := 1;
    762     end;
    763     with UnitKinds.AddNew('Heavy Infantry') do begin
    764       Moves := 1;
    765     end;
    766     with UnitKinds.AddNew('Granadiers') do begin
     757    with TUnitKind(UnitKinds.AddItem('Rifle Team')) do begin
     758      Moves := 1;
     759    end;
     760    with TUnitKind(UnitKinds.AddItem('Machine Gun')) do begin
     761      Moves := 1;
     762    end;
     763    with TUnitKind(UnitKinds.AddItem('Heavy Infantry')) do begin
     764      Moves := 1;
     765    end;
     766    with TUnitKind(UnitKinds.AddItem('Granadiers')) do begin
    767767      Moves := 1;
    768768    end;
  • trunk/UGame.pas

    r287 r291  
    303303    NewPower := Random(MaxNeutralUnits + 1);
    304304    if (NewPower > 0) and not Assigned(OneUnit) then begin
    305       OneUnit := Units.AddNew(GameSystem.UnitKinds[0], NewPower);
     305      OneUnit := Units.AddNew(TUnitKind(GameSystem.UnitKinds[0]), NewPower);
    306306    end;
    307307    Player := nil;
     
    344344        StartCell.Player := Player;
    345345        if not Assigned(StartCell.OneUnit) then
    346           StartCell.OneUnit := Self.Units.AddNew(GameSystem.UnitKinds[0], Player.StartUnits);
     346          StartCell.OneUnit := Self.Units.AddNew(TUnitKind(GameSystem.UnitKinds[0]), Player.StartUnits);
    347347        StartCell.OneUnit.Power := Player.StartUnits;
    348         StartCell.OneUnit.Kind := GameSystem.UnitKinds[0];
     348        StartCell.OneUnit.Kind := TUnitKind(GameSystem.UnitKinds[0]);
    349349        StartCell.OneUnit.Player := Player;
    350350      end;
  • trunk/UPlayer.pas

    r290 r291  
    13181318    ((TGame(Game).GrowCells = gcPlayerCities) and (Terrain = ttCity))) then begin
    13191319      if not Assigned(OneUnit) then begin
    1320         NewUnit := TGame(Game).Units.AddNew(TGame(Game).GameSystem.UnitKinds.First, 0);
     1320        NewUnit := TGame(Game).Units.AddNew(TUnitKind(TGame(Game).GameSystem.UnitKinds.First), 0);
    13211321        NewUnit.Player := Self;
    13221322        NewUnit.MapCell := TCell(Cells[I]);
  • trunk/UUnit.pas

    r278 r291  
    66
    77uses
    8   Classes, SysUtils, fgl, UGeometry, DOM, UXMLUtils;
     8  Classes, SysUtils, fgl, UGeometry, DOM, UXMLUtils, UItemList;
    99
    1010type
     
    1212  { TUnitKind }
    1313
    14   TUnitKind = class
    15     Id: Integer;
    16     Name: string;
     14  TUnitKind = class(TItem)
    1715    PowerAttack: Integer;
    1816    PowerDefense: Integer;
     
    2119    Power: Integer;
    2220    ViewRange: Integer;
    23     procedure Assign(Source: TUnitKind);
    24     procedure LoadFromNode(Node: TDOMNode);
    25     procedure SaveToNode(Node: TDOMNode);
     21    class function GetFields: TItemFields; override;
     22    procedure GetValue(Index: Integer; out Value); override;
     23    procedure SetValue(Index: Integer; var Value); override;
     24    class function GetClassSysName: string; override;
     25    class function GetClassName: string; override;
    2626  end;
    2727
    2828  { TUnitKinds }
    2929
    30   TUnitKinds = class(TFPGObjectList<TUnitKind>)
    31     NewId: Integer;
    32     function FindById(Id: Integer): TUnitKind;
    33     function GetNewId: Integer;
    34     function AddNew(Name: string): TUnitKind;
    35     procedure LoadFromNode(Node: TDOMNode);
    36     procedure SaveToNode(Node: TDOMNode);
     30  TUnitKinds = class(TItemList)
    3731    constructor Create(FreeObjects: Boolean = True);
    38     procedure Assign(Source: TUnitKinds);
     32    class function GetItemClass: TItemClass; override;
    3933  end;
    4034
     
    8983  UPlayer, UMap, UGame;
    9084
     85resourcestring
     86  SStack = 'Stack';
     87  SCost = 'Cost';
     88  SMoves = 'Moves';
     89  SPowerAttack =  'Attack power';
     90  SPowerDefense = 'Defense power';
     91  SViewRange = 'View range';
     92  SUnitKind = 'Unit kind';
     93
     94
    9195{ TUnitKind }
    9296
    93 procedure TUnitKind.Assign(Source: TUnitKind);
    94 begin
    95   Id := Source.Id;
    96   Name := Source.Name;
    97   PowerAttack := Source.PowerAttack;
    98   PowerDefense := Source.PowerDefense;
    99   Moves := Source.Moves;
    100   Cost := Source.Cost;
    101   Power := Source.Power;
    102   ViewRange := Source.ViewRange;
    103 end;
    104 
    105 procedure TUnitKind.LoadFromNode(Node: TDOMNode);
    106 begin
    107   Id := ReadInteger(Node, 'Id', 0);
    108   Name := ReadString(Node, 'Name', '');
    109   Power := ReadInteger(Node, 'Stack', 0);
    110   Cost := ReadInteger(Node, 'Cost', 0);
    111   Moves := ReadInteger(Node, 'Moves', 0);
    112   PowerAttack := ReadInteger(Node, 'PowerAttack', 0);
    113   PowerDefense := ReadInteger(Node, 'PowerDefense', 0);
    114   ViewRange := ReadInteger(Node, 'ViewRange', 0);
    115 end;
    116 
    117 procedure TUnitKind.SaveToNode(Node: TDOMNode);
    118 begin
    119   WriteInteger(Node, 'Id', Id);
    120   WriteString(Node, 'Name', Name);
    121   WriteInteger(Node, 'Stack', Power);
    122   WriteInteger(Node, 'Cost', Cost);
    123   WriteInteger(Node, 'Moves', Moves);
    124   WriteInteger(Node, 'PowerAttack', PowerAttack);
    125   WriteInteger(Node, 'PowerDefense', PowerDefense);
    126   WriteInteger(Node, 'ViewRange', ViewRange);
     97class function TUnitKind.GetFields: TItemFields;
     98begin
     99  Result := inherited;
     100  Result.AddField(2, 'Stack', SStack, dtInteger);
     101  Result.AddField(3, 'Cost', SCost, dtInteger);
     102  Result.AddField(4, 'Moves', SMoves, dtInteger);
     103  Result.AddField(5, 'PowerAttack', SPowerAttack, dtInteger);
     104  Result.AddField(6, 'PowerDefense', SPowerDefense, dtInteger);
     105  Result.AddField(7, 'ViewRange', SViewRange, dtInteger);
     106end;
     107
     108procedure TUnitKind.GetValue(Index: Integer; out Value);
     109begin
     110  if Index = 1 then string(Value) := Name
     111  else if Index = 2 then Integer(Value) := Power
     112  else if Index = 3 then Integer(Value) := Cost
     113  else if Index = 4 then Integer(Value) := Moves
     114  else if Index = 5 then Integer(Value) := PowerAttack
     115  else if Index = 6 then Integer(Value) := PowerDefense
     116  else if Index = 7 then Integer(Value) := ViewRange
     117  else raise Exception.Create('Unsupported value index ' + IntToStr(Index));
     118end;
     119
     120procedure TUnitKind.SetValue(Index: Integer; var Value);
     121begin
     122  if Index = 1 then Name := string(Value)
     123  else if Index = 2 then Power := Integer(Value)
     124  else if Index = 3 then Cost := Integer(Value)
     125  else if Index = 4 then Moves := Integer(Value)
     126  else if Index = 5 then PowerAttack := Integer(Value)
     127  else if Index = 6 then PowerDefense := Integer(Value)
     128  else if Index = 7 then ViewRange := Integer(Value)
     129  else raise Exception.Create('Unsupported value index ' + IntToStr(Index));
     130end;
     131
     132class function TUnitKind.GetClassSysName: string;
     133begin
     134  Result := 'UnitKind';
     135end;
     136
     137class function TUnitKind.GetClassName: string;
     138begin
     139  Result := SUnitKind;
    127140end;
    128141
     
    243256begin
    244257  Player := TGame(Game).Players.FindById(PlayerId);
    245   Kind := TGame(Game).GameSystem.UnitKinds.FindById(KindId);
     258  Kind := TUnitKind(TGame(Game).GameSystem.UnitKinds.FindById(KindId));
    246259end;
    247260
     
    296309{ TUnitKinds }
    297310
    298 function TUnitKinds.FindById(Id: Integer): TUnitKind;
    299 var
    300   I: Integer;
    301 begin
    302   I := 0;
    303   while (I < Count) and (Items[I].Id <> Id) do Inc(I);
    304   if I < Count then Result := Items[I]
    305     else Result := nil;
    306 end;
    307 
    308 function TUnitKinds.GetNewId: Integer;
    309 begin
    310   Result := NewId;
    311   Inc(NewId);
    312 end;
    313 
    314 function TUnitKinds.AddNew(Name: string): TUnitKind;
    315 begin
    316   Result := TUnitKind.Create;
    317   Result.Name := Name;
    318   Result.Id := GetNewId;
    319   Add(Result);
    320 end;
    321 
    322 procedure TUnitKinds.LoadFromNode(Node: TDOMNode);
    323 var
    324   Node2: TDOMNode;
    325   NewItem: TUnitKind;
    326 begin
    327   Count := 0;
    328   Node2 := Node.FirstChild;
    329   while Assigned(Node2) and (Node2.NodeName = 'UnitKind') do begin
    330     NewItem := TUnitKind.Create;
    331     NewItem.LoadFromNode(Node2);
    332     Add(NewItem);
    333     Node2 := Node2.NextSibling;
    334   end;
    335 end;
    336 
    337 procedure TUnitKinds.SaveToNode(Node: TDOMNode);
    338 var
    339   I: Integer;
    340   NewNode2: TDOMNode;
    341 begin
    342   for I := 0 to Count - 1 do
    343   with Items[I] do begin
    344     NewNode2 := Node.OwnerDocument.CreateElement('UnitKind');
    345     Node.AppendChild(NewNode2);
    346     SaveToNode(NewNode2);
    347   end;
    348 end;
    349 
    350311constructor TUnitKinds.Create(FreeObjects: Boolean);
    351312begin
    352313  inherited;
    353   NewId := 1;
    354 end;
    355 
    356 procedure TUnitKinds.Assign(Source: TUnitKinds);
    357 var
    358   I: Integer;
    359 begin
    360   while Count > Source.Count do Delete(Count - 1);
    361   while Count < Source.Count do AddNew('');
    362   for I := 0 to Count - 1 do
    363     Items[I].Assign(Source.Items[I]);
     314end;
     315
     316class function TUnitKinds.GetItemClass: TItemClass;
     317begin
     318  Result := TUnitKind;
    364319end;
    365320
  • trunk/xtactics.lpi

    r290 r291  
    110110      </Item7>
    111111    </RequiredPackages>
    112     <Units Count="46">
     112    <Units Count="44">
    113113      <Unit0>
    114114        <Filename Value="xtactics.lpr"/>
     
    315315      </Unit37>
    316316      <Unit38>
    317         <Filename Value="Forms/UFormUnitKind.pas"/>
    318         <IsPartOfProject Value="True"/>
    319         <ComponentName Value="FormUnitKind"/>
     317        <Filename Value="Forms/UFormPlayers.pas"/>
     318        <IsPartOfProject Value="True"/>
     319        <ComponentName Value="FormPlayers"/>
    320320        <HasResources Value="True"/>
    321321        <ResourceBaseClass Value="Form"/>
    322322      </Unit38>
    323323      <Unit39>
    324         <Filename Value="Forms/UFormUnitKinds.pas"/>
    325         <IsPartOfProject Value="True"/>
    326         <ComponentName Value="FormUnitKinds"/>
    327         <HasResources Value="True"/>
    328         <ResourceBaseClass Value="Form"/>
     324        <Filename Value="UNation.pas"/>
     325        <IsPartOfProject Value="True"/>
    329326      </Unit39>
    330327      <Unit40>
    331         <Filename Value="Forms/UFormPlayers.pas"/>
    332         <IsPartOfProject Value="True"/>
    333         <ComponentName Value="FormPlayers"/>
    334         <HasResources Value="True"/>
    335         <ResourceBaseClass Value="Form"/>
     328        <Filename Value="UItemList.pas"/>
     329        <IsPartOfProject Value="True"/>
    336330      </Unit40>
    337331      <Unit41>
    338         <Filename Value="UNation.pas"/>
     332        <Filename Value="Forms/UFormAbout.lfm"/>
    339333        <IsPartOfProject Value="True"/>
    340334      </Unit41>
    341335      <Unit42>
    342         <Filename Value="UItemList.pas"/>
    343         <IsPartOfProject Value="True"/>
     336        <Filename Value="Forms/UFormList.pas"/>
     337        <IsPartOfProject Value="True"/>
     338        <ComponentName Value="FormList"/>
     339        <HasResources Value="True"/>
     340        <ResourceBaseClass Value="Form"/>
    344341      </Unit42>
    345342      <Unit43>
    346         <Filename Value="Forms/UFormAbout.lfm"/>
    347         <IsPartOfProject Value="True"/>
     343        <Filename Value="Forms/UFormItem.pas"/>
     344        <IsPartOfProject Value="True"/>
     345        <ComponentName Value="FormItem"/>
     346        <HasResources Value="True"/>
     347        <ResourceBaseClass Value="Form"/>
    348348      </Unit43>
    349       <Unit44>
    350         <Filename Value="Forms/UFormList.pas"/>
    351         <IsPartOfProject Value="True"/>
    352         <ComponentName Value="FormList"/>
    353         <HasResources Value="True"/>
    354         <ResourceBaseClass Value="Form"/>
    355       </Unit44>
    356       <Unit45>
    357         <Filename Value="Forms/UFormItem.pas"/>
    358         <IsPartOfProject Value="True"/>
    359         <ComponentName Value="FormItem"/>
    360         <HasResources Value="True"/>
    361         <ResourceBaseClass Value="Form"/>
    362       </Unit45>
    363349    </Units>
    364350  </ProjectOptions>
Note: See TracChangeset for help on using the changeset viewer.