示例#1
0
            /// <summary>
            /// Show the given Prompt
            /// </summary>
            /// <param name="name">ActivePrompt name</param>
            public static void Show(string name, string text, int timeout)
            {
                if (string.IsNullOrEmpty(name))
                {
                    throw new ArgumentNullException("name", "A valid ActivePrompt name must be provided.");
                }
                if (!manager.activePrompts.ContainsKey(name))
                {
                    throw new InvalidOperationException("An ActivePrompt must first be created.");
                }

                qf4net.QF.Instance.Publish(new PromptEvent(QFSignal.PromptShow, name, text, timeout));
                ActivePrompt aPrompt = manager.activePrompts[name];

                while ((!aPrompt.IsInState(aPrompt.m_StateFaulted)) && (!aPrompt.IsInState(aPrompt.m_StateShown)))
                {
                    System.Threading.Thread.Sleep(1);
                }
            }
示例#2
0
            private static void Create(IPrompt prompt)
            {
                if (prompt == null)
                {
                    throw new ArgumentNullException("prompt", "A valid prompt must be provided.");
                }
                if ((string.IsNullOrEmpty(prompt.Name) || manager.activePrompts.ContainsKey(prompt.Name)))
                {
                    throw new ArgumentNullException("prompt.Name", "An ActivePrompt must have a valid, unique name.");
                }

                manager.activePrompts.Add(prompt.Name, new ActivePrompt(prompt));
                manager.activePrompts[prompt.Name].Start(manager.priority++);

                ActivePrompt aPrompt = manager.activePrompts[prompt.Name];

                while ((!aPrompt.IsInState(aPrompt.m_StateFaulted)) && (!aPrompt.IsInState(aPrompt.m_StateCreated)))
                {
                    System.Threading.Thread.Sleep(1);
                }
            }