public static IEnumerable <InteractionObjectPair> GetAllInteractionsForSim(SocialComponent ths, Sim actor, bool isAutonomous) { if ((ths.mSim.IsPerformingAService && !VisitSituation.IsSocializing(ths.mSim)) && !(ths.mSim.Service is Butler)) { sMsg += Common.NewLine + "Service"; return(ths.GetAllServiceInteractions(actor)); } List <InteractionObjectPair> list = new List <InteractionObjectPair>(); if (isAutonomous) { sMsg += Common.NewLine + "Autonomous"; list.AddRange(ths.GetAllInteractionsForAutonomy(actor)); return(list); } if ((ths.mSim.Posture is ISeatedSocialPosture) && (actor.Posture is ISeatedSocialPosture)) { Relationship relationship = Relationship.Get(ths.mSim, actor, false); if ((relationship == null) || (relationship.LTR.CurrentLTR == LongTermRelationshipTypes.Stranger)) { sMsg += Common.NewLine + "New Conversation"; list.AddRange(SocialsForNewConversation(ths, actor, ths.mSim, false)); return(list); } if (ths.mSim.NeedsToBeGreeted(actor)) { sMsg += Common.NewLine + "Greeting"; list.AddRange(ths.SocialsForGreeting(actor, ths.mSim)); return(list); } sMsg += Common.NewLine + "Empty"; return(new List <InteractionObjectPair>()); } sMsg += Common.NewLine + "PieMenu"; list.AddRange(GetAllInteractionsForPieMenu(ths, actor)); return(list); }