| 111 | } |
| 112 | |
| 113 | bool AnimatedPartSet::setActiveState(String const& stateTypeName, String const& stateName, bool alwaysStart) { |
| 114 | auto& stateType = m_stateTypes.get(stateTypeName); |
| 115 | if (stateType.activeState.stateName != stateName || alwaysStart) { |
| 116 | stateType.activeState.stateName = stateName; |
| 117 | stateType.activeState.timer = 0.0f; |
| 118 | stateType.activeStatePointer = stateType.states.get(stateName).get(); |
| 119 | |
| 120 | stateType.activeStateDirty = true; |
| 121 | for (auto& pair : m_parts) |
| 122 | pair.second.activePartDirty = true; |
| 123 | |
| 124 | return true; |
| 125 | } else { |
| 126 | return false; |
| 127 | } |
| 128 | } |
| 129 | |
| 130 | void AnimatedPartSet::restartState(String const& stateTypeName) { |
| 131 | auto& stateType = m_stateTypes.get(stateTypeName); |