2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 22:27:43 +00:00

CScriptTrigger work

This commit is contained in:
2017-01-14 19:59:37 -08:00
parent e2c671e9b4
commit 65fb75737f
39 changed files with 707 additions and 448 deletions

View File

@@ -74,7 +74,7 @@ void CScriptDock::Think(float dt, CStateManager& mgr)
CObjectList& objs = mgr.WorldNC()->GetArea(aid)->GetAreaObjects();
for (CEntity* ent : objs)
{
CScriptDock* dock = static_cast<CScriptDock*>(ent);
TCastToPtr<CScriptDock> dock(ent);
if (dock && dock->GetDockId() == otherDock)
dock->SetLoadConnected(mgr, true);
}
@@ -129,7 +129,7 @@ void CScriptDock::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStat
CPlatformAndDoorList& lst = mgr.GetPlatformAndDoorObjectList();
for (CEntity* ent : lst)
{
CScriptDoor* door = static_cast<CScriptDoor*>(ent);
TCastToPtr<CScriptDoor> door(ent);
if (door && !door->IsConnectedToArea(mgr, aid))
door->ForceClosed(mgr);
}
@@ -176,7 +176,7 @@ void CScriptDock::Touch(CActor& act, CStateManager&)
if (x264_dockState == EDockState::Three)
return;
if (static_cast<CPlayer*>(&act) != nullptr)
if (TCastToPtr<CPlayer>(act))
x264_dockState = EDockState::PlayerTouched;
}