示例#1
0
 private void _FireShutdown(ServiceRunner runner)
 {
     for (var i = 0; i < this.runners.Count; ++i)
     {
         if (this.runners[i] != runner)
         {
             this.runners[i].NotifyShutdown(runner.Service);
         }
     }
 }
示例#2
0
        internal void _AddRunner(ServiceRunner serviceRunner)
        {
            var index = this.runners.FindIndex(delegate(ServiceRunner runner)
            {
                return(runner.Service == serviceRunner.Service || runner.Service.Id == serviceRunner.Service.Id);
            });

            if (index < 0)
            {
                this.runners.Add(serviceRunner);
            }
        }
示例#3
0
        internal void _RemoveRunner(ServiceRunner serviceRunner)
        {
            _FireShutdown(serviceRunner);

            var index = this.runners.FindIndex(delegate(ServiceRunner runner)
            {
                return(runner.Service == serviceRunner.Service || runner.Service.Id == serviceRunner.Service.Id);
            });

            if (index >= 0)
            {
                this.runners.RemoveAt(index);
            }
        }
示例#4
0
        internal void _OnGraph()
        {
            GraphStyle._Initialize();

            ServiceRunner runner = null;
            float         y      = SERVICE_MARGIN;
            var           count  = this.runners.Count;

            for (var i = count - 1; i >= 0; --i)
            {
                runner = this.runners[i];
                if (GUI.Button(new Rect(SERVICE_MARGIN, y, GraphStyle.ServiceWidth, SERVICE_TITLE_HEIGHT), runner.Service.Id, GraphStyle.ServiceGrayBox) || i == this.graphIndex)
                {
                    this.graphIndex = i;
                    y += runner.DrawGraph(y + SERVICE_TITLE_HEIGHT);
                }
                y += SERVICE_TITLE_HEIGHT + SERVICE_MARGIN;
            }
        }