| 1780 | } |
| 1781 | |
| 1782 | Actor* FindActorRecursive(Actor* node, const Tag& tag, bool activeOnly) |
| 1783 | { |
| 1784 | if (activeOnly && !node->GetIsActive()) |
| 1785 | return nullptr; |
| 1786 | if (node->HasTag(tag)) |
| 1787 | return node; |
| 1788 | Actor* result = nullptr; |
| 1789 | for (Actor* child : node->Children) |
| 1790 | { |
| 1791 | result = FindActorRecursive(child, tag, activeOnly); |
| 1792 | if (result) |
| 1793 | break; |
| 1794 | } |
| 1795 | return result; |
| 1796 | } |
| 1797 | |
| 1798 | Actor* FindActorRecursiveByType(Actor* node, const MClass* type, const Tag& tag, bool activeOnly) |
| 1799 | { |