GameObject* Transform::Find(RegistrationId nameHash) { GameObject* gameObject = GetGameObject(); if( gameObject->GetNameHash() == nameHash ) return gameObject; for(Transform* child = firstChild; child != 0; child = child->nextSibling) { GameObject* childObject = child->GetGameObject(); RegistrationId childNameHash = childObject->GetNameHash(); if( childNameHash == nameHash ) return childObject; } return 0; }
GameObject* Transform::FindInHierarchy(RegistrationId nameHash) { GameObject* gameObject = GetGameObject(); if( gameObject->GetNameHash() == nameHash ) return gameObject; for(Transform* child = firstChild; child != 0; child = child->nextSibling) { GameObject* result = child->GetGameObject()->GetTransform()->FindInHierarchy(nameHash); if( result != 0 ) return result; } return 0; }