public string DebugInfo() { String s = String.Format("\n{0}", ToString()); int show = 10; var KnowsAboutList = ObservedActor.GetKnownObjects(); lock (KnowsAboutList) { KnowsAboutList.Sort(CompareObjects); s += String.Format("\nKnowsAboutList: {0}", KnowsAboutList.Count); foreach (SimObject item in KnowsAboutList) { show--; if (show < 0) { break; } /// if (item is ISimAvatar) continue; s += String.Format("\n {0} {1}", item, ObservedActor.DistanceVectorString(item)); } } show = 10; List <SimTypeUsage> KnownTypeUsages = new List <SimTypeUsage>(ObservedActor.KnownTypeUsages); KnownTypeUsages.Sort(CompareUsage); s += String.Format("\nKnownTypeUsages: {0}", KnownTypeUsages.Count); foreach (SimTypeUsage item in KnownTypeUsages) { show--; if (show < 0) { break; } /// if (item is ISimAvatar) continue; s += String.Format("\n {0} {1}", item, item.RateIt(CurrentNeeds)); } s += String.Format("\nCurrentNeeds: {0}", CurrentNeeds); s += String.Format("\nNextAction: {0}", GetNextAction()); s += String.Format("\nLastAction: {0}", ObservedActor.LastAction); s += String.Format("\nCurrentAction: {0}", Actor.CurrentAction); return(s); }