GameMsg.pas
上传用户:yj_qiu
上传日期:2022-08-08
资源大小:23636k
文件大小:3k
源码类别:

游戏引擎

开发平台:

Delphi

  1. (*
  2.  @Abstract(Game messages unit)
  3.  (C) 2006-2007 George "Mirage" Bakhtadze. avagames@gmail.com
  4.  Created: Mar 22, 2007
  5.  Unit contains game-specific message classes
  6. *)
  7. {$I GDefines.inc}
  8. unit GameMsg;
  9. interface
  10. uses BaseMsg;
  11. type
  12.   TGameItem = (giTorch, giSmallBag, giMediumBag, giBigBag, giPick, giLockPick, giTeleport);
  13.   // Game over
  14.   TGameOverMsg = class(BaseMsg.TMessage)
  15.   end;
  16.   // Timeout message. Used to remove spash screens after some time.
  17.   TTimeOutMsg = class(BaseMsg.TMessage)
  18.   end;
  19.   // Occures when inventory window should be toggled
  20.   TInventoryToggleMsg = class(BaseMsg.TMessage)
  21.   end;
  22.   // Occures when teleport used
  23.   TTeleportUseMsg = class(BaseMsg.TMessage)
  24.   end;
  25.   // Occures when user presses action key
  26.   TGameActionMsg = class(BaseMsg.TMessage)
  27.   end;
  28.   // Occures when user presses fire key
  29.   TFireMsg = class(BaseMsg.TMessage)
  30.   end;
  31.   // Occures when a gem is encountered
  32.   TGemFoundMsg = class(BaseMsg.TMessage)
  33.     TileX, TileY, ItemType: Integer;
  34.     constructor Create(AItemType, ATileX, ATileY: Integer);
  35.   end;
  36.   // Occures when a gem is actually picked up (enough free space in inventory, etc)
  37.   TGemPickedUpMsg = class(BaseMsg.TMessage)
  38.     GemType: Integer;
  39.     constructor Create(AGemType: Integer);
  40.   end;
  41.   // Occures when some item lacks to perform an action
  42.   TItemLackMsg = class(BaseMsg.TMessage)
  43.     ItemType: TGameItem;
  44.     constructor Create(AItemType: TGameItem);
  45.   end;
  46.   // Occures when player takes contents of a chest
  47.   TEmptyChestMsg = class(BaseMsg.TMessage)
  48.   end;
  49.   // Occures when shop window should be opened
  50.   TShopOpenMsg = class(BaseMsg.TMessage)
  51.   end;
  52.   // Occures when shop window should be closed
  53.   TShopCloseMsg = class(BaseMsg.TMessage)
  54.   end;
  55.   // Cheat code base message
  56.   TCheatCodeMsg = class(BaseMsg.TMessage)
  57.   end;
  58.   // Occures when a god mode should be applied to character
  59.   TGodModeToggleMsg = class(TCheatCodeMsg)
  60.   end;
  61.   // Occures when "1000 torches" cheat should be activated
  62.   TThousandTorchesMsg = class(TCheatCodeMsg)
  63.   end;
  64.   // Occures when "give money" cheat should be activated
  65.   TGiveMoneyMsg = class(TCheatCodeMsg)
  66.   end;
  67. implementation
  68. { TItemFoundMsg }
  69. constructor TGemFoundMsg.Create(AItemType, ATileX, ATileY: Integer);
  70. begin
  71.   ItemType := AItemType;
  72.   TileX := ATileX;
  73.   TileY := ATileY;
  74. end;
  75. { TGemPickedUpMsg }
  76. constructor TGemPickedUpMsg.Create(AGemType: Integer);
  77. begin
  78.   GemType := AGemType;
  79. end;
  80. { TItemLackMsg }
  81. constructor TItemLackMsg.Create(AItemType: TGameItem);
  82. begin
  83.   ItemType := AItemType;
  84. end;
  85. end.