protected override Result BodyTryUsing(PlayerData playerData, CodingMamaCharacter characterData) { DialogGroup currentDialog = defaultLine; switch (state) { case State.Introduction: currentDialog = introduction; break; } Result result = currentDialog.Display(playerData, characterData); lastQuestion = result.yesOrNoQuestion; if (result.isDone) { playerData.dialogManager.Hide(); switch (state) { case State.Accepted: case State.Introduction: state = State.DefaultLine; break; default: defaultLine.RestartValue(); break; } } return(result); }