diff options
author | Paul Gilbert | 2016-05-06 18:26:44 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-07-10 16:38:33 -0400 |
commit | 2a2eaebdc294a7958260ed40d48fef25e1396355 (patch) | |
tree | 3b48fb804976645fc94628a56617d463a2b6d1be /engines/titanic/npcs/character.cpp | |
parent | 4d22064997b286fdf6eb179c710f2bd0ae539943 (diff) | |
download | scummvm-rg350-2a2eaebdc294a7958260ed40d48fef25e1396355.tar.gz scummvm-rg350-2a2eaebdc294a7958260ed40d48fef25e1396355.tar.bz2 scummvm-rg350-2a2eaebdc294a7958260ed40d48fef25e1396355.zip |
TITANIC: Implemented CCharacter message handlers
Diffstat (limited to 'engines/titanic/npcs/character.cpp')
-rw-r--r-- | engines/titanic/npcs/character.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/engines/titanic/npcs/character.cpp b/engines/titanic/npcs/character.cpp index b8112ce56b..df905d98b3 100644 --- a/engines/titanic/npcs/character.cpp +++ b/engines/titanic/npcs/character.cpp @@ -24,6 +24,12 @@ namespace Titanic { +BEGIN_MESSAGE_MAP(CCharacter, CGameObject) + ON_MESSAGE(LeaveViewMsg) + ON_MESSAGE(TurnOn) + ON_MESSAGE(TurnOff) +END_MESSAGE_MAP() + CCharacter::CCharacter() : CGameObject(), _fieldBC(0), _fieldC0(0), _fieldC4(1) { } @@ -47,4 +53,27 @@ void CCharacter::load(SimpleFile *file) { CGameObject::load(file); } +bool CCharacter::LeaveViewMsg(CLeaveViewMsg *msg) { + CTurnOff offMsg; + offMsg.execute(this); + + return true; +} + +bool CCharacter::TurnOn(CTurnOn *msg) { + if (!_fieldC4) + _fieldC4 = 1; + + return true; +} + +bool CCharacter::TurnOff(CTurnOff *msg) { + CString charName = getName(); + if (charName == "Deskbot" || charName == "Barbot" || charName == "SuccUBus") { + _fieldC4 = 0; + } + + return true; +} + } // End of namespace Titanic |