if a node called removeFromParent and retain count is 0, will it stop all running actions first and then clean up?
The cleanup method is what removes the actions…
See Node::cleanup()
void Node::cleanup()
{
// actions
this->stopAllActions();
this->unscheduleAllCallbacks();
#if CC_ENABLE_SCRIPT_BINDING
if ( _scriptType != kScriptTypeNone)
{
int action = kNodeOnCleanup;
BasicScriptData data(this,(void*)&action);
ScriptEvent scriptEvent(kNodeEvent,(void*)&data);
ScriptEngineManager::getInstance()->getScriptEngine()->sendEvent(&scriptEvent);
}
#endif // #if CC_ENABLE_SCRIPT_BINDING
// timers
for( const auto &child: _children)
child->cleanup();
}