public void StartThinking() { if (avatarThinkerThread == null) { avatarThinkerThread = new Thread(Think) { Name = String.Format("AvatarThinkerThread for {0}", Actor) }; if (Actor.IsControllable) { /// only think for ourselves avatarThinkerThread.Priority = ThreadPriority.Normal; avatarThinkerThread.Start(); } } else if (!avatarThinkerThread.IsAlive) { avatarThinkerThread.Resume(); } }