* @inner
(entity)
| 18670 | * @inner |
| 18671 | */ |
| 18672 | function enableSubTypeDefaulter(entity) { |
| 18673 | |
| 18674 | var subTypeDefaulters = {}; |
| 18675 | |
| 18676 | entity.registerSubTypeDefaulter = function (componentType, defaulter) { |
| 18677 | componentType = parseClassType$1(componentType); |
| 18678 | subTypeDefaulters[componentType.main] = defaulter; |
| 18679 | }; |
| 18680 | |
| 18681 | entity.determineSubType = function (componentType, option) { |
| 18682 | var type = option.type; |
| 18683 | if (!type) { |
| 18684 | var componentTypeMain = parseClassType$1(componentType).main; |
| 18685 | if (entity.hasSubTypes(componentType) && subTypeDefaulters[componentTypeMain]) { |
| 18686 | type = subTypeDefaulters[componentTypeMain](option); |
| 18687 | } |
| 18688 | } |
| 18689 | return type; |
| 18690 | }; |
| 18691 | |
| 18692 | return entity; |
| 18693 | } |
| 18694 | |
| 18695 | /** |
| 18696 | * Topological travel on Activity Network (Activity On Vertices). |
no test coverage detected