Ignore:
Timestamp:
May 1, 2023, 11:21:30 AM (12 months ago)
Author:
chronos
Message:
  • Added: Ability to save and load a game.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/UMetroPassenger.pas

    r127 r128  
    44
    55uses
    6   Classes, SysUtils, Generics.Collections;
     6  Classes, SysUtils, Generics.Collections, UItems, DOM, UXMLUtils;
    77
    88type
     
    1515  { TMetroPassenger }
    1616
    17   TMetroPassenger = class
     17  TMetroPassenger = class(TItem)
    1818    DestinationIndex: TDestinationIndex;
     19    class function GetClassSysName: string; override;
     20    procedure LoadFromXmlNode(Node: TDOMNode); override;
     21    procedure SaveToXmlNode(Node: TDOMNode); override;
    1922  end;
    2023
    2124  { TMetroPassengers }
    2225
    23   TMetroPassengers = class(TObjectList<TMetroPassenger>)
    24     function AddNew: TMetroPassenger;
     26  TMetroPassengers = class(TItems<TMetroPassenger>)
     27    class function GetClassSysName: string; override;
    2528  end;
    2629
     
    3033{ TMetroPassengers }
    3134
    32 function TMetroPassengers.AddNew: TMetroPassenger;
     35class function TMetroPassengers.GetClassSysName: string;
    3336begin
    34   Result := TMetroPassenger.Create;
    35   Add(Result);
     37  Result := 'MetroPassengers';
     38end;
     39
     40{ TMetroPassengers }
     41
     42class function TMetroPassenger.GetClassSysName: string;
     43begin
     44  Result := 'MetroPassenger';
     45end;
     46
     47procedure TMetroPassenger.LoadFromXmlNode(Node: TDOMNode);
     48begin
     49  inherited;
     50  DestinationIndex := ReadInteger(Node, 'DestinationIndex', DestinationIndex);
     51end;
     52
     53procedure TMetroPassenger.SaveToXmlNode(Node: TDOMNode);
     54begin
     55  inherited;
     56  WriteInteger(Node, 'DestinationIndex', DestinationIndex);
    3657end;
    3758
Note: See TracChangeset for help on using the changeset viewer.