Exemple #1
0
 public override void IntersectCheck(Wave pWave)
 {
     if (Circle.Intersects(pWave.Circle))
     {
         State = TransmitterState.HACKED;
     }
 }
 public void HackTransmitter(Color pColour)
 {
     if (pColour == mColour)
     {
         State = TransmitterState.HACKED;
     }
 }
Exemple #3
0
 public override void Reset()
 {
     mColour             = mColours[0];
     mColourIndex        = 0;
     mTimeTillNextColour = DGS.CYCLE_TIME;
     State       = TransmitterState.NORMAL;
     mTimeToWave = 0;
 }
Exemple #4
0
 public override bool MouseClick(Point pPosition)
 {
     if (State != TransmitterState.HACKED)
     {
         if (Circle.Intersects(pPosition))
         {
             State = TransmitterState.HACKED;
             return(true);
         }
     }
     return(false);
 }
    /// <summary>
    /// Connects to the server and requests data.
    /// </summary>
    private async void StartAsClient(string requestId, string serverIp)
    {
        Debug.LogFormat("[GenericNetworkTransmitter] Attempting to connect to server (server ip: {0})", serverIp);

        StopClient();
        await StopServer();

        lock (stateLock)
        {
            state = TransmitterState.Client;
            networkReceiverRetryCancellation = new CancellationTokenSource();
        }

        byte[] result = null;
        try
        {
            HostName networkHost = new HostName(serverIp);
            using (StreamSocket networkConnection = new StreamSocket())
            {
                await networkConnection.ConnectAsync(networkHost, sendConnectionPort.ToString(), SocketProtectionLevel.PlainSocket);

                result = await ReadInputStream(networkConnection);
            }
        }
        catch (Exception exp)
        {
            Debug.LogErrorFormat("[GenericNetworkTransmitter] Failed to receive data from server (server ip: {0}) (error code: {1}) (exception: {2}) ", serverIp, exp.HResult, exp.Message);
        }

        lock (stateLock)
        {
            if (state != TransmitterState.Client)
            {
                Debug.LogWarningFormat("[GenericNetworkTransmitter] This is no longer a client, releasing received data (server ip: {0})", serverIp);
                result = null;
            }
        }

        bool success = result != null && result.Length > 0;

        if (!success && RetryAsClient(requestId, serverIp))
        {
            Debug.LogErrorFormat("[GenericNetworkTransmitter] Failed to receive data, but retrying (server ip: {0})", serverIp);
        }
        else if (this.RequestDataCompleted != null)
        {
            this.RequestDataCompleted(this, new RequestDataCompletedArgs(requestId, success, result));
        }
    }
    /// <summary>
    /// Configures the network transmitter as the source.
    /// </summary>
    public async void StartAsServer(byte[] data)
    {
        Debug.Log("[GenericNetworkTransmitter] Creating server.");

        StopClient();

        StreamSocketListener newNetworkListener = null;

        lock (stateLock)
        {
            state = TransmitterState.Server;
            newNetworkListener = networkListener;
            serverBuffer       = data;
        }

        try
        {
            if (newNetworkListener == null)
            {
                newNetworkListener = new StreamSocketListener();
                newNetworkListener.ConnectionReceived += ConnectionReceived;
                await newNetworkListener.BindServiceNameAsync(sendConnectionPort.ToString(), SocketProtectionLevel.PlainSocket);
            }
        }
        catch
        {
            newNetworkListener = null;
            Debug.LogError("[GenericNetworkTransmitter] Failed to create server.");
        }

        lock (stateLock)
        {
            if (networkListener == null && newNetworkListener != null && state == TransmitterState.Server)
            {
                Debug.Log("[GenericNetworkTransmitter] Started server.");
                networkListener = newNetworkListener;
            }
            else if (newNetworkListener != null)
            {
                newNetworkListener.ConnectionReceived -= ConnectionReceived;
                newNetworkListener.Dispose();
            }
        }
    }
 public override void Reset()
 {
     State       = TransmitterState.NORMAL;
     mTimeToWave = 0;
 }
 public void HackTransmitter()
 {
     State = TransmitterState.HACKED;
 }