private void Server_ClientStatusChanged( object sender, BlakcMakiga.Net.BlakcClientStatus e ) { MyDrone affectedDrone; BlakcMakiga.Net.IBlakcClient client = ( sender as BlakcMakiga.Net.IBlakcClient ); affectedDrone = this.drones.FirstOrDefault( x => x.UID == client.UID ); switch ( e ) { case BlakcMakiga.Net.BlakcClientStatus.Connected: break; case BlakcMakiga.Net.BlakcClientStatus.Disconnected: if ( null == affectedDrone ) return; affectedDrone.State = MyDroneState.Offline; if ( this.DroneStatusChanged != null ) this.DroneStatusChanged( this, affectedDrone ); break; case BlakcMakiga.Net.BlakcClientStatus.Online: if ( null == affectedDrone ) { affectedDrone = new MyDrone( client.UID, MyDroneState.Online ); this.drones.Add( affectedDrone ); } affectedDrone.State = MyDroneState.Online; if ( this.DroneStatusChanged != null ) this.DroneStatusChanged( this, affectedDrone ); break; case BlakcMakiga.Net.BlakcClientStatus.Unknown: if ( null == affectedDrone ) { affectedDrone = new MyDrone( client.UID, MyDroneState.Unknown ); this.drones.Add( affectedDrone ); } if ( this.DroneStatusChanged != null ) this.DroneStatusChanged( this, affectedDrone ); break; } }
public MyDronePacketGenerator( BlakcMakiga.Utils.CRC.CRCMode crcmode ) { this.crcProvider = BlakcMakiga.Abrakadubra.CreateInstance( BlakcMakiga.BlakcInstanceIdentifier.BlakcCRCProvider ) as BlakcMakiga.Utils.CRC.IBlakcCRCProvider; this.crcMode = crcmode; }