Hallo, mal auf die schnelle...
Delphi-Quellcode:
TSoldat = class
private
FOnGetDamage: TNotifyEvent;
...
protected
DoOnGetDamage(Sender: TObject);
public
...
property OnGetDamage: TNotifyEvent read FOnGetDamage write FOnGetDamage;
end;
...
implementation
procedure TSoldat.DoOnGetDamage(Sender: TObject);
begin
if Assigned(FOnGetDamage) then
FOnGetDamage(self);
...
end;
und beim benutzen....
Delphi-Quellcode:
...
LSoldat := TSoldat.Create();
LSoldat.OnGetDamage := MakeDamage;
...
...
procedure MakeDamage(Sender: TObject);
begin
FHitpoints:=FHitpoints-FDmg;
if FHitPoints<0 then
Dead;
If InCombatRange(FEnemy)=true then
Attack(FEnemy)
else
MoveTo(FEnemy);
end;
nur ein schnelles Bsp., hoffe du kommst klar
Gruß
Tyrael