void Party::Leave(ObjectCharacter* character) { auto it_member = find_if(members.begin(), members.end(), [character](Member* member) { return (member->GetStatController() == character->GetStatController()); }); if (it_member != members.end()) { Member* member = *it_member; member->UnlinkCharacter(character); delete member; members.erase(it_member); Updated.Emit(); } }