{$MODE OBJFPC} { -*- delphi -*- } {$INCLUDE settings.inc} unit dummygame; interface uses rpc, storable, techtree; type TDummyGame = class(TAbstractGame) protected FID: Cardinal; static; FLocalTechTree: TAbstractTechnologyTreeManager; function GetTechnologyTree(): TAbstractTechnologyTreeManager; override; public constructor Create(Tree: TAbstractTechnologyTreeManager); function GetID(): TActorID; override; procedure Register(Actor: TAbstractActor); override; procedure Unregister(Actor: TAbstractActor); override; procedure Kill(Actor: TAbstractActor); override; procedure MarkDirty(Actor: TAbstractActor; DirtyFlags: TDirtyFlags); override; function GetBuildTarget(ID: TActorID; Dynasty: TAbstractDynasty): TAbstractActor; override; function GetGameID(): Cardinal; override; end; implementation constructor TDummyGame.Create(Tree: TAbstractTechnologyTreeManager); begin inherited Create(); FLocalTechTree := Tree; end; function TDummyGame.GetID(): TActorID; begin Inc(FID); Result := FID; end; function TDummyGame.GetTechnologyTree(): TAbstractTechnologyTreeManager; begin Result := FLocalTechTree; end; procedure TDummyGame.Register(Actor: TAbstractActor); begin end; procedure TDummyGame.Unregister(Actor: TAbstractActor); begin end; procedure TDummyGame.Kill(Actor: TAbstractActor); begin end; procedure TDummyGame.MarkDirty(Actor: TAbstractActor; DirtyFlags: TDirtyFlags); begin end; function TDummyGame.GetBuildTarget(ID: TActorID; Dynasty: TAbstractDynasty): TAbstractActor; begin Result := nil; end; function TDummyGame.GetGameID(): Cardinal; begin Result := 0; end; initialization RegisterStorableClass(TDummyGame); Assert(TDummyGame.FID = 0); end.