mirror of https://github.com/zeldaret/botw.git
BaseProc child connection functions
This commit is contained in:
parent
ff99d77635
commit
a49164a85f
|
@ -89481,11 +89481,11 @@
|
||||||
0x00000071011baed4,ActorBase::setJobPriority2,288,
|
0x00000071011baed4,ActorBase::setJobPriority2,288,
|
||||||
0x00000071011baff4,ActorBase::sleep,308,
|
0x00000071011baff4,ActorBase::sleep,308,
|
||||||
0x00000071011bb128,ActorBase::wakeUp,484,
|
0x00000071011bb128,ActorBase::wakeUp,484,
|
||||||
0x00000071011bb30c,ActorBase::getConnectedCalcChild,32,
|
0x00000071011bb30c,ActorBase::getConnectedCalcChild,32,_ZNK4ksys3act8BaseProc21getConnectedCalcChildEv
|
||||||
0x00000071011bb32c,ActorBase::setConnectedCalcChild,248,
|
0x00000071011bb32c,ActorBase::setConnectedCalcChild,248,_ZN4ksys3act8BaseProc21setConnectedCalcChildEPS1_b
|
||||||
0x00000071011bb424,ActorBase::setConnectedCalcParent,248,_ZN4ksys3act8BaseProc22setConnectedCalcParentEPS1_b
|
0x00000071011bb424,ActorBase::setConnectedCalcParent,248,_ZN4ksys3act8BaseProc22setConnectedCalcParentEPS1_b
|
||||||
0x00000071011bb51c,ActorBase::resetConnectedCalcChild,188,
|
0x00000071011bb51c,ActorBase::resetConnectedCalcChild,188,_ZN4ksys3act8BaseProc23resetConnectedCalcChildEb
|
||||||
0x00000071011bb5d8,ActorBase::resetConnectedCalcParent,188,
|
0x00000071011bb5d8,ActorBase::resetConnectedCalcParent,188,_ZN4ksys3act8BaseProc24resetConnectedCalcParentEb
|
||||||
0x00000071011bb6a0,ActorBase::setCreatePriorityState2,12,
|
0x00000071011bb6a0,ActorBase::setCreatePriorityState2,12,
|
||||||
0x00000071011bb6ac,ActorBase::rtti1,112,_ZNK4ksys3act8BaseProc27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
|
0x00000071011bb6ac,ActorBase::rtti1,112,_ZNK4ksys3act8BaseProc27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
|
||||||
0x00000071011bb71c,ActorBase::rtti2,92,_ZNK4ksys3act8BaseProc18getRuntimeTypeInfoEv
|
0x00000071011bb71c,ActorBase::rtti2,92,_ZNK4ksys3act8BaseProc18getRuntimeTypeInfoEv
|
||||||
|
|
Can't render this file because it is too large.
|
|
@ -449,4 +449,54 @@ bool BaseProc::setConnectedCalcParent(BaseProc* parent, bool delete_parent_on_de
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BaseProc::resetConnectedCalcParent(bool clear_existing_set_request) {
|
||||||
|
if (isDeletedOrDeleting())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (clear_existing_set_request) {
|
||||||
|
mStateFlags.reset(StateFlags::RequestSetParent);
|
||||||
|
mConnectedCalcParentNew = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mConnectedCalcParent)
|
||||||
|
BaseProcMgr::instance()->addToUpdateStateList(*this, StateFlags::RequestResetParent);
|
||||||
|
}
|
||||||
|
|
||||||
|
BaseProc* BaseProc::getConnectedCalcChild() const {
|
||||||
|
if (!mConnectedCalcChild || mConnectedCalcChild->mState == State::Delete)
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
|
return mConnectedCalcChild;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool BaseProc::setConnectedCalcChild(BaseProc* child, bool delete_child_on_delete) {
|
||||||
|
if (child == nullptr)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (isDeletedOrDeleting() || child->isDeletedOrDeleting())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (BaseProcMgr::instance()->addToUpdateStateList(*this, StateFlags::RequestSetChild))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
mConnectedCalcChildNew = child;
|
||||||
|
|
||||||
|
mFlags.change(Flags::DeleteChildOnDelete, delete_child_on_delete);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BaseProc::resetConnectedCalcChild(bool clear_existing_set_request) {
|
||||||
|
if (isDeletedOrDeleting())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (clear_existing_set_request) {
|
||||||
|
mStateFlags.reset(StateFlags::RequestSetChild);
|
||||||
|
mConnectedCalcChildNew = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mConnectedCalcChild)
|
||||||
|
BaseProcMgr::instance()->addToUpdateStateList(*this, StateFlags::RequestResetChild);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace ksys::act
|
} // namespace ksys::act
|
||||||
|
|
|
@ -111,7 +111,7 @@ public:
|
||||||
void resetConnectedCalcParent(bool clear_existing_set_request);
|
void resetConnectedCalcParent(bool clear_existing_set_request);
|
||||||
|
|
||||||
BaseProc* getConnectedCalcChild() const;
|
BaseProc* getConnectedCalcChild() const;
|
||||||
void setConnectedCalcChild(BaseProc* child, bool delete_child_on_delete);
|
bool setConnectedCalcChild(BaseProc* child, bool delete_child_on_delete);
|
||||||
void resetConnectedCalcChild(bool clear_existing_set_request);
|
void resetConnectedCalcChild(bool clear_existing_set_request);
|
||||||
|
|
||||||
bool isSpecialJobType(JobType type);
|
bool isSpecialJobType(JobType type);
|
||||||
|
|
Loading…
Reference in New Issue