示例#1
0
    // Start is called before the first frame update
    void Start()
    {
        try{
            SPHandler = GameObject.Find("SP").GetComponent <SerialPortHandler>();
        }
        catch (Exception e) {
            Debug.Log(e);
        }

        try{
            UHandler = GameObject.Find("UP").GetComponent <UDPHandler>();
        }
        catch (Exception e) {
            Debug.Log(e);
        }

        UHandler.InitUDP();
        sp = false;
        up = false;

        max = progressBar.maxValue;

        timer        = 0;
        waiting_time = 2;
    }
示例#2
0
        public override bool Handle(ServiceUserToken obj)
        {
            byte[] firstPacket = obj.firstPacket;
            int    length      = obj.firstPacketLength;
            Socket socket      = obj.socket;

            if (socket == null)
            {
                return(false);
            }
            if (socket.ProtocolType != ProtocolType.Udp)
            {
                return(false);
            }
            if (length < 4)
            {
                return(false);
            }
            IPEndPoint remoteEndPoint = (IPEndPoint)obj.remoteEndPoint;
            UDPHandler handler        = _cache.get(remoteEndPoint);

            if (handler == null)
            {
                handler = new UDPHandler(socket,
                                         _controller.GetAServer(remoteEndPoint, null /*TODO: fix this*/),
                                         remoteEndPoint, _argsPool);
                _cache.add(remoteEndPoint, handler);
            }
            Task.Factory.StartNew(async() => { await handler.Start(firstPacket, length); }).Forget();
            return(true);
        }
示例#3
0
    public string allReceivedUDPPackets = "";   // clean up this from time to time!


    // start from shell
    private static void Main()
    {
        UDPHandler receiveObj = new UDPHandler();

        receiveObj.init();

        string text = "";

        do
        {
            text = Console.ReadLine();
        }while(!text.Equals("exit"));
    }
示例#4
0
    // Start is called before the first frame update
    void Start()
    {
        try{
            SPHandler = GameObject.Find("SP").GetComponent <SerialPortHandler>();
        }
        catch (Exception e) {
            Debug.Log(e);
        }

        try{
            UHandler = GameObject.Find("UP").GetComponent <UDPHandler>();
        }
        catch (Exception e) {
            Debug.Log(e);
        }

        text       = GetComponent <Text>();
        text.color = new Color(text.color.r, text.color.g, text.color.b, 0);
    }
示例#5
0
        public override bool Handle(byte[] firstPacket, int length, Socket socket, object state)
        {
            if (socket.ProtocolType != ProtocolType.Udp)
            {
                return(false);
            }
            if (length < 4)
            {
                return(false);
            }
            Listener.UDPState udpState       = (Listener.UDPState)state;
            IPEndPoint        remoteEndPoint = (IPEndPoint)udpState.remoteEndPoint;
            UDPHandler        handler        = _cache.get(remoteEndPoint);

            if (handler == null)
            {
                handler = new UDPHandler(socket, _controller.GetAServer(remoteEndPoint, null /*TODO: fix this*/), remoteEndPoint);
                _cache.add(remoteEndPoint, handler);
            }
            handler.Send(firstPacket, length);
            handler.Receive();
            return(true);
        }
示例#6
0
        public override async Task <bool> Handle(Memory <byte> packet, Socket socket, EndPoint client)
        {
            if (socket.ProtocolType != ProtocolType.Udp)
            {
                return(false);
            }
            if (packet.Length < 4)
            {
                return(false);
            }
            IPEndPoint remoteEndPoint = (IPEndPoint)client;
            UDPHandler handler        = _cache.get(remoteEndPoint);

            if (handler == null)
            {
                handler = new UDPHandler(socket, _server, remoteEndPoint);
                handler.Receive();
                _cache.add(remoteEndPoint, handler);
            }
            await handler.SendAsync(packet);

            return(true);
        }
示例#7
0
        public bool Handle(byte[] firstPacket, int length, Socket socket, object state)
        {
            if (socket.ProtocolType != ProtocolType.Udp)
            {
                return(false);
            }
            if (length < 4)
            {
                return(false);
            }
            Listener.UDPState udpState       = (Listener.UDPState)state;
            IPEndPoint        remoteEndPoint = (IPEndPoint)udpState.remoteEndPoint;
            UDPHandler        handler        = _cache.get(remoteEndPoint);

            if (handler == null)
            {
                handler          = new UDPHandler(socket, _config.server, remoteEndPoint);
                handler.OnClose += this.OnClose;
                _cache.add(remoteEndPoint, handler);
            }
            handler.Send(firstPacket, length);
            handler.Receive();
            return(true);
        }
示例#8
0
//-----------------------------------------------------------------start----------------------------------------------------------------------------------
    void Start()
    {
        //get SPHandler
        try{
            SPHandler = GameObject.Find("SP").GetComponent <SerialPortHandler>();
        }
        catch (Exception e) {
            Debug.Log(e);
        }

        //get UHandler
        try{
            UHandler = GameObject.Find("UP").GetComponent <UDPHandler>();
        }
        catch (Exception e) {
            Debug.Log(e);
        }

        // animation component
        anim = this.GetComponent <Animation>();

        // catch ball object
        catch_ball_object = GameObject.Find("Catch_Ball");
        catch_ball_object.gameObject.SetActive(false);

        // timer
        timer = 0.0f;

        // catch ball
        score          = 0;
        scoreText.text = string.Format("Score: {0}", score);
        catch_ball     = false;
        add_score      = false;
        fail_ball_num  = 0;

        // read all Children of current object
        Transform[] allChildren = GetComponentsInChildren <Transform>();

        // iterate
        foreach (Transform child in allChildren)
        {
            // find hand object
            if (child.name == "Hand")
            {
                hand = child.gameObject;
            }

            // find thumb object
            if (child.name == "thumb_0")
            {
                thumb_0 = child.gameObject;
            }
            if (child.name == "thumb_1")
            {
                thumb_1 = child.gameObject;
            }
            if (child.name == "thumb_2")
            {
                thumb_2 = child.gameObject;
            }

            // find index finger object
            if (child.name == "index_finger_1")
            {
                index_finger_1 = child.gameObject;
            }
            if (child.name == "index_finger_2")
            {
                index_finger_2 = child.gameObject;
            }
            if (child.name == "index_finger_3")
            {
                index_finger_3 = child.gameObject;
            }

            // find middle finger object
            if (child.name == "middle_finger_1")
            {
                middle_finger_1 = child.gameObject;
            }
            if (child.name == "middle_finger_2")
            {
                middle_finger_2 = child.gameObject;
            }
            if (child.name == "middle_finger_3")
            {
                middle_finger_3 = child.gameObject;
            }

            // find ring finger object
            if (child.name == "ring_finger_1")
            {
                ring_finger_1 = child.gameObject;
            }
            if (child.name == "ring_finger_2")
            {
                ring_finger_2 = child.gameObject;
            }
            if (child.name == "ring_finger_3")
            {
                ring_finger_3 = child.gameObject;
            }

            // find pinky object
            if (child.name == "pinky_1")
            {
                pinky_1 = child.gameObject;
            }
            if (child.name == "pinky_2")
            {
                pinky_2 = child.gameObject;
            }
            if (child.name == "pinky_3")
            {
                pinky_3 = child.gameObject;
            }
        }

        // set default finger as index finger
        finger_1 = index_finger_1;
        finger_2 = index_finger_2;
        finger_3 = index_finger_3;

        // initialization
        mouseWorldPosition = hand.transform.position;

        finger_flex   = 180;
        finger_degree = 0;

        thumb_flex         = 180;
        index_finger_flex  = 180;
        middle_finger_flex = 180;
        ring_finger_flex   = 180;
        pinky_flex         = 180;

        catch_ball = false;

        // set finger as release
        thumb_0.transform.localEulerAngles = new Vector3(-28.32f, ((-finger_degree - 160) / 5), -25.86f);
        thumb_1.transform.localEulerAngles = new Vector3(2.37f, -0.297f, -finger_degree) * 0.5f;
        thumb_2.transform.localEulerAngles = new Vector3(1.36f, -0.126f, -finger_degree) * 0.3f;

        index_finger_1.transform.localEulerAngles = new Vector3(finger_degree, 0, 0) * 0.5f;
        index_finger_2.transform.localEulerAngles = new Vector3(finger_degree, 0, 0) * 0.8f;
        index_finger_3.transform.localEulerAngles = new Vector3(finger_degree, 0, 0) * 0.3f;

        middle_finger_1.transform.localEulerAngles = new Vector3(finger_degree, 0, 0) * 0.5f;
        middle_finger_2.transform.localEulerAngles = new Vector3(finger_degree, 0, 0) * 0.8f;
        middle_finger_3.transform.localEulerAngles = new Vector3(finger_degree, 0, 0) * 0.3f;

        ring_finger_1.transform.localEulerAngles = new Vector3(finger_degree, 0, 0) * 0.5f;
        ring_finger_2.transform.localEulerAngles = new Vector3(finger_degree, 0, 0) * 0.8f;
        ring_finger_3.transform.localEulerAngles = new Vector3(finger_degree, 0, 0) * 0.3f;

        pinky_1.transform.localEulerAngles = new Vector3(finger_degree, 0, 0) * 0.5f;
        pinky_2.transform.localEulerAngles = new Vector3(finger_degree, 0, 0) * 0.8f;
        pinky_3.transform.localEulerAngles = new Vector3(finger_degree, 0, 0) * 0.3f;
    }
 public TransactionController()
 {
     deviceDictionary = new ConcurrentDictionary <IPAddress, DeviceInfo>();
     broadcaster      = new UDPBroadcaster(BC_PORT);
     udpHandler       = new UDPHandler(this);
 }