예제 #1
0
        void OnMetroMainEvent(string rgsname ,int jamlevel,int g_code_id)
        {
            try
               {
              // int jamlevel = 0;
             //  Host.Event.Jam.RampVDData data = sender as Host.Event.Jam.RampVDData;
               if (rgsname == null)
                   return;

               if (jamlevel <= 0)
               {

                   if (hsEvents.ContainsKey(rgsname))
                   {

                       hsEvents[rgsname].IsMainVDJamp = false;
                       if (hsEvents[rgsname].CanStop())
                       {

                           hsEvents[rgsname].invokeStop();
                           hsEvents.Remove(rgsname);
                       }

                   }

               }
               else if (jamlevel > 0)
               {
                   if (hsEvents.ContainsKey(rgsname))
                       hsEvents[rgsname].IsMainVDJamp = true;
                   else
                   {
                       MetroNetworkRange range = new MetroNetworkRange(Program.matrix.device_mgr[rgsname] as TC.RGSDeviceWrapper,
                           g_code_id) { IsMainVDJamp = true };

                       hsEvents.Add(rgsname, range);
                       Program.matrix.event_mgr.AddEvent(range);
                   }

               }

               }
               catch (Exception ex)
               {
               RemoteInterface.ConsoleServer.WriteLine(ex.Message + "," + ex.StackTrace);
               }
        }
예제 #2
0
        void vddata_OnEvent(object sender, EventArgs e)
        {
            try
             {
             int jamlevel=0;
             Host.Event.Jam.RampVDData data = sender as Host.Event.Jam.RampVDData;
             if (data.RGS_DeviceName == null)
                 return;

             if (data.laneid == -1)
                 jamlevel = data.vd.jamLevel;
             else
                 jamlevel = data.laneJamLevel;

             if (jamlevel <= 0)
             {

                 if (hsEvents.ContainsKey(data.RGS_DeviceName))
                 {

                     hsEvents[data.RGS_DeviceName].IsRampJam = false;
                     if (hsEvents[data.RGS_DeviceName].CanStop())
                     {

                         hsEvents[data.RGS_DeviceName].invokeStop();
                         hsEvents.Remove(data.RGS_DeviceName);
                     }

                 }

             }
             else if (jamlevel > 0)
             {
                 if (hsEvents.ContainsKey(data.RGS_DeviceName))
                     hsEvents[data.RGS_DeviceName].IsRampJam = true;
                 else
                 {
                     MetroNetworkRange range=  new MetroNetworkRange(Program.matrix.device_mgr[data.RGS_DeviceName] as TC.RGSDeviceWrapper, data.metro_g_code_id) { IsRampJam = true };

                     hsEvents.Add(data.RGS_DeviceName,range);
                     Program.matrix.event_mgr.AddEvent(range);
                 }

             }

             }
             catch (Exception ex)
             {
             RemoteInterface.ConsoleServer.WriteLine(ex.Message + "," + ex.StackTrace);
             }
        }