- Added handling of new blocks (OnNewBlock event)

This commit is contained in:
2009-08-03 00:29:55 +02:00
parent 2e16269397
commit 1bc9ad3fe1
2 changed files with 15 additions and 3 deletions

View File

@@ -497,6 +497,7 @@ begin
FBlockCache.OnRemoveObject := @OnRemoveCachedObject;
FOnChange := nil;
FOnNewBlock := nil;
FOnStaticDeleted := nil;
FOnStaticElevated := nil;
FOnStaticHued := nil;
@@ -606,6 +607,7 @@ var
coords: TBlockCoords;
count: Word;
id: Integer;
block: TBlock;
begin
index := TGenericIndex.Create(nil);
while ABuffer.Position < ABuffer.Size do
@@ -623,12 +625,14 @@ begin
statics := TSeperatedStaticBlock.Create(ABuffer, index, coords.X, coords.Y);
FBlockCache.RemoveID(id);
FBlockCache.StoreID(id, TBlock.Create(map, statics));
block := TBlock.Create(map, statics);
FBlockCache.StoreID(id, block);
FOpenRequests[coords.Y * FWidth + coords.X] := False;
if Assigned(FOnNewBlock) then FOnNewBlock(block);
end;
index.Free;
if Assigned(FOnChange) then FOnChange;
end;
procedure TLandscape.OnDrawMapPacket(ABuffer: TEnhancedMemoryStream);