public override void Enter() { SocialSystem socialSystem = Controlled.CivilManager.GetSystem <SocialSystem>(); var suitableWomen = socialSystem.GetSuitableWomenForMarriage((Man)Controlled); bool accepted = false; Woman selectedWife = null; while (!accepted && suitableWomen.Count > 0) { selectedWife = RandomSelector.SelectRandomSample(suitableWomen); suitableWomen.Remove(selectedWife); accepted = selectedWife.ResponseForMarriageProposal((Man)Controlled); } base.Enter(); }