/usr/src/castle-game-engine-6.4/game/castlegamenotifications.pas is in castle-game-engine-src 6.4+dfsg1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | {
Copyright 2006-2017 Michalis Kamburelis.
This file is part of "Castle Game Engine".
"Castle Game Engine" is free software; see the file COPYING.txt,
included in this distribution, for details about the copyright.
"Castle Game Engine" is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
----------------------------------------------------------------------------
}
{ Global instance for @link(Notifications).
It also captures CastleScript calls of @code(writeln()), to display
them as notifications. }
unit CastleGameNotifications;
{$I castleconf.inc}
interface
uses CastleNotifications;
var
Notifications: TCastleNotifications;
implementation
uses SysUtils, CastleScript;
var
PreviousOnScriptMessage: TCasScriptMessage;
initialization
Notifications := TCastleNotifications.Create(nil);
{ replace OnScriptMessage to allow using Notifications from CastleScript }
PreviousOnScriptMessage := OnScriptMessage;
OnScriptMessage := @Notifications.Show;
finalization
{ restore original OnScriptMessage }
if Notifications <> nil then
begin
if OnScriptMessage = @Notifications.Show then
OnScriptMessage := PreviousOnScriptMessage;
end;
FreeAndNil(Notifications);
end.
|