コード例 #1
0
        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);
        }