mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-28 18:51:16 +00:00
implement NotifyEntity
This commit is contained in:
parent
27390e80c0
commit
4f9535db1d
@ -124,6 +124,7 @@ class LegoOmni : public MxOmni {
|
|||||||
MxTransitionManager* GetTransitionManager() { return m_transitionManager; }
|
MxTransitionManager* GetTransitionManager() { return m_transitionManager; }
|
||||||
MxDSAction& GetCurrentAction() { return m_action; }
|
MxDSAction& GetCurrentAction() { return m_action; }
|
||||||
LegoUnkSaveDataWriter* GetUnkSaveDataWriter() { return m_saveDataWriter; }
|
LegoUnkSaveDataWriter* GetUnkSaveDataWriter() { return m_saveDataWriter; }
|
||||||
|
LegoWorldList* GetWorldList() { return m_worldList; }
|
||||||
|
|
||||||
inline void SetNavController(LegoNavController* p_navController) { m_navController = p_navController; }
|
inline void SetNavController(LegoNavController* p_navController) { m_navController = p_navController; }
|
||||||
inline void SetCurrentWorld(LegoWorld* p_currentWorld) { m_currentWorld = p_currentWorld; }
|
inline void SetCurrentWorld(LegoWorld* p_currentWorld) { m_currentWorld = p_currentWorld; }
|
||||||
|
|||||||
@ -2,7 +2,9 @@
|
|||||||
|
|
||||||
#include "legoomni.h"
|
#include "legoomni.h"
|
||||||
#include "legoworld.h"
|
#include "legoworld.h"
|
||||||
|
#include "legoworldlist.h"
|
||||||
#include "mxdsaction.h"
|
#include "mxdsaction.h"
|
||||||
|
#include "mxnotificationmanager.h"
|
||||||
#include "mxomni.h"
|
#include "mxomni.h"
|
||||||
#include "mxstreamer.h"
|
#include "mxstreamer.h"
|
||||||
#include "mxtypes.h"
|
#include "mxtypes.h"
|
||||||
@ -128,9 +130,31 @@ MxBool CheckIfEntityExists(MxBool p_enable, const char* p_filename, MxS32 p_enti
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1003e700
|
// FUNCTION: LEGO1 0x1003e700
|
||||||
void NotifyEntity(const char* p_filename, MxS32 p_entityId, LegoEntity* p_sender)
|
void NotifyEntity(const char* p_filename, MxS32 p_entityId, LegoEntity* p_sender)
|
||||||
{
|
{
|
||||||
|
MxAtomId atom(p_filename, e_lowerCase2);
|
||||||
|
LegoEntity* entity = FindWorld(atom, p_entityId);
|
||||||
|
if (entity == NULL) {
|
||||||
|
LegoWorldListCursor cursor(Lego()->GetWorldList());
|
||||||
|
LegoWorld* current;
|
||||||
|
while (entity == NULL) {
|
||||||
|
cursor.Next(current);
|
||||||
|
entity = (LegoEntity*) current->Find(atom, p_entityId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (entity != NULL) {
|
||||||
|
|
||||||
|
#ifdef COMPAT_MODE
|
||||||
|
{
|
||||||
|
MxNotificationParam param(c_notificationType0, p_sender);
|
||||||
|
NotificationManager()->Send(entity, ¶m);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
NotificationManager()->Send(entity, &MxNotificationParam(c_notificationType0, p_sender));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x1003eae0
|
// FUNCTION: LEGO1 0x1003eae0
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user