コード例 #1
0
        protected virtual Boolean LogArrival(IDs3Device Arrived)
        {
            ArrivalEventArgs args = new ArrivalEventArgs(Arrived);

            On_Arrival(this, args);

            return(args.Handled);
        }
コード例 #2
0
        protected Boolean LogArrival(IDs3Device Arrived)
        {
            ArrivalEventArgs args = new ArrivalEventArgs(Arrived);

            if (Arrival != null)
            {
                Arrival(this, args);
            }

            return(args.Handled);
        }
コード例 #3
0
        protected virtual void On_Arrival(object sender, ArrivalEventArgs e)
        {
            Boolean    bFound  = false;
            IDs3Device Arrived = e.Device;

            for (Int32 Index = 0; Index < m_Pad.Length && !bFound; Index++)
            {
                if (Arrived.Local == m_Reserved[Index])
                {
                    if (m_Pad[Index].State == DeviceState.Connected)
                    {
                        if (m_Pad[Index].Connection == Ds3Connection.BTH)
                        {
                            m_Pad[Index].Disconnect();
                        }

                        if (m_Pad[Index].Connection == Ds3Connection.USB)
                        {
                            Arrived.Disconnect();

                            e.Handled = false;
                            return;
                        }
                    }

                    bFound = true;

                    Arrived.PadId = (Ds3PadId)Index;
                    m_Pad[Index]  = Arrived;
                }
            }

            for (Int32 Index = 0; Index < m_Pad.Length && !bFound; Index++)
            {
                if (m_Pad[Index].State == DeviceState.Disconnected)
                {
                    bFound            = true;
                    m_Reserved[Index] = Arrived.Local;

                    Arrived.PadId = (Ds3PadId)Index;
                    m_Pad[Index]  = Arrived;
                }
            }

            if (bFound)
            {
                scpBus.Plugin((int)Arrived.PadId + 1);
            }
            e.Handled = bFound;
        }
コード例 #4
0
 public ArrivalEventArgs(IDs3Device Device)
 {
     m_Device = Device;
 }