Hallo und danke für die schnellen und vielen Antworten.
@Uwe Raabe
Delphi-Quellcode:
--------Entity.pas--------
uses Map, ...;
type
TPlayer = class(TEntity)
private
procedure updateCollision(AMap: TMap; newX,newY: Single); override;
public
NearestBlock: TBlockVector;
constructor Create(EntityPosition: TVector; SizeH,SizeV: Single); override;
[...]
end;
--------Map.pas--------
uses Blocks, ...;
type
TBlocks = array of array of TBlock;
TMap = class(TObject)
private
Structure: TBlocks;
[...]
public
[...]
property Grid[X,Y: Word]: TBlock read GetStructure; default;
property Grid[APos: TBlockVector]: TBlock read GetStructure; default;
end;
--------Blocks.pas--------
uses ...;
type
TBlock = class(TObject)
[...]
end;
TActionBlock = class(TBlock)
public
procedure OnAction(APlayer: TPlayer);
end;
Ist das in etwa, was Du wolltest? Mehr? Weniger?
@jaenicke Grundsätzlich danke. Das Dilemma über Events zu lösen ist durchaus eine Variante. Ich muss zugeben mit Events zu programmieren ist mir neu (klar, Komponentenevents, ich meine hier sebstverständlich eigene). Was ich sagen will: Gibt es da eine Art Tutorialempfehlung des Chefs?
@hoika Der Idee bin ich auch sehr aufgeschlossen. Darf ich erfahren, was Visitor-/Observer-Patterns sind?
Ich habe bis dato noch nie von Interfaces gehört (außer im
Unit Aufbau). Eine erst Recherche ergab nur die Tatsache, dass diese existieren und Dinge können. Auch hier die eFrage: Gibt es da etwas, was Du empfehlen kannst?
Vielen Dank im vorraus