Beispiel #1
0
        public void ParseRequest_KinesisFirehoseEvent_InvocationSourceNotNull_Tags()
        {
            var tags = IOParser.ParseRequest(_baseKinesisFirehoseEvent);

            Assert.That(tags.Keys.Contains("aws.lambda.eventSource.arn"), Is.True);
            Assert.That(tags["aws.lambda.eventSource.arn"], Is.EqualTo("test-arn"));
        }
Beispiel #2
0
    public void EnterQueue()
    {
        Debug.Log("Queue");
        int num = 0;

        for (byte i = 0; i < 3; i++)
        {
            proInfo    = new IOEvent();
            proInfo.ID = this.Read(num);
            byte state = this.Read(num + 1);
            proInfo.IsPush1     = this.IsBool(IOParser.GetBit(7, state));
            proInfo.IsPush2     = this.IsBool(IOParser.GetBit(6, state));
            proInfo.IsShake     = this.IsBool(IOParser.GetBit(5, state));
            proInfo.IsWarning   = this.IsBool(IOParser.GetBit(4, state));
            proInfo.IsOutTicket = this.IsBool(IOParser.GetBit(3, state));
            proInfo.IsCoin      = this.IsBool(IOParser.GetBit(2, state));
            proInfo.IsStart     = this.IsBool(IOParser.GetBit(1, state));
            proInfo.IsSet       = this.IsBool(IOParser.GetBit(0, state));
            proInfo.RockerBar   = new Vector3(this.Read(num + 2), this.Read(num + 3), 0);
            proInfo.ScreenPos   = IOParser.World2ScreenPos(proInfo.RockerBar, i);
            num += 4;
            if (quequeInfo[i].Count > 5)
            {
                this.quequeInfo[i].Dequeue();
            }
            this.quequeInfo[i].Enqueue(proInfo);
        }
    }
Beispiel #3
0
        public void ParseRequest_DynamoDBEvent_InvocationSourceNull_Tags()
        {
            _baseDynamoDBEvent.Records = null;
            var tags = IOParser.ParseRequest(_baseDynamoDBEvent);

            Assert.That(tags.Keys.Contains("aws.lambda.eventSource.arn"), Is.False);
        }
Beispiel #4
0
    public static byte DAT3_2()
    {
        byte result = 0;
        byte min    = 0;
        byte max    = 0;

        byte[] id = IOParser.String2IntArray(GameConfig.GAME_CONFIG_ID);
        min = id[0];
        max = id[0];
        for (int i = 0; i < id.Length; ++i)
        {
            if (min > id[i])
            {
                min = id[i];
            }

            if (max < id[i])
            {
                max = id[i];
            }
        }
        result = (byte)(min + max);

        return(result);
    }
Beispiel #5
0
        public void ParseRequest_ApplicationLoadBalancerRequest_WithMultiValueHeaders()
        {
            _baseApplicationLoadBalancerRequest.MultiValueHeaders = _multiValueHeaders;
            var tags = IOParser.ParseRequest(_baseApplicationLoadBalancerRequest);

            Assert.That(tags.Keys.Contains("method"), Is.True);
            Assert.That(tags.Keys.Contains("uri"), Is.True);
            Assert.That(tags.Keys.Contains("aws.lambda.eventSource.arn"), Is.True);
            Assert.That(tags.Keys.Contains("headers.x-forwarded-proto"), Is.True);
            Assert.That(tags.Keys.Contains("headers.x-forwarded-port"), Is.True);
            Assert.That(tags.Keys.Contains("headers.content-type"), Is.True);
            Assert.That(tags.Keys.Contains("headers.content-length"), Is.True);
            Assert.That(tags.Keys.Contains("newrelic"), Is.True);

            Assert.That(tags["method"], Is.EqualTo("POST"));
            Assert.That(tags["uri"], Is.EqualTo("/test/path"));
            Assert.That(tags["aws.lambda.eventSource.arn"], Is.EqualTo("test-arn"));
            Assert.That(tags["headers.x-forwarded-proto"], Is.EqualTo("proto"));
            Assert.That(tags["headers.x-forwarded-port"], Is.EqualTo("1234,4321"));
            Assert.That(tags["headers.content-type"], Is.EqualTo("application/json"));
            Assert.That(tags["headers.content-length"], Is.EqualTo("1000"));
            Assert.That(tags["newrelic"], Is.EqualTo("dt-payload"));

            Assert.That(tags.Keys.Contains("headers.access-control-allow-origin"), Is.False);
            Assert.That(tags.Keys.Contains("headers.custom-header"), Is.False);
        }
Beispiel #6
0
        public void ParseRequest_KinesisFirehoseEvent_InvocationSourceNull_Tags()
        {
            _baseKinesisFirehoseEvent.DeliveryStreamArn = null;
            var tags = IOParser.ParseRequest(_baseKinesisFirehoseEvent);

            Assert.That(tags.Keys.Contains("aws.lambda.eventSource.arn"), Is.False);
        }
Beispiel #7
0
        public void ParseResponse_ApplicationLoadBalancerResponse_WithoutHeaders()
        {
            var tags = IOParser.ParseResponse(_baseApplicationLoadBalancerResponse);

            Assert.That(tags.Keys.Contains("status"), Is.True);

            Assert.That(tags["status"], Is.EqualTo("200"));
        }
Beispiel #8
0
        public void ParseResponse_APIGatewayProxyResponse_WithoutHeaders()
        {
            var tags = IOParser.ParseResponse(_baseAPIGatewayProxyResponse);

            Assert.That(tags.Keys.Contains("status"), Is.True);

            Assert.That(tags["status"], Is.EqualTo("200"));
        }
Beispiel #9
0
        public void ParseResponse_IDictionary_WithoutStatus()
        {
            var response = new Dictionary <string, object>
            {
                { "CustomItem", "CustomValue" }
            };
            var tags = IOParser.ParseResponse(response);

            Assert.That(tags.Keys.Contains("status"), Is.False);
        }
Beispiel #10
0
        public void ParseRequest_APIGatewayProxyRequest_WithoutHeaders()
        {
            var tags = IOParser.ParseRequest(_baseAPIGatewayProxyRequest);

            Assert.That(tags.Keys.Contains("method"), Is.True);
            Assert.That(tags.Keys.Contains("uri"), Is.True);

            Assert.That(tags["method"], Is.EqualTo("POST"));
            Assert.That(tags["uri"], Is.EqualTo("/test/path"));
        }
Beispiel #11
0
    public static byte DAT3_9()
    {
        byte result = 0;

        byte[] id = IOParser.String2IntArray(GameConfig.GAME_CONFIG_ID);
        byte   a  = (byte)((byte)(id[3] + id[4]) >> 2);
        byte   b  = (byte)((byte)(id[3] + id[4]) << 6);

        result = (byte)((byte)(a + b) + 10);
        return(result);
    }
Beispiel #12
0
    public static byte DAT3_1()
    {
        byte result = 0;

        byte[] id = IOParser.String2IntArray(GameConfig.GAME_CONFIG_ID);
        for (int i = 0; i < id.Length; ++i)
        {
            result = (byte)(result + id[i]);
        }
        return(result);
    }
Beispiel #13
0
    public static byte[] DAT3_4()
    {
        byte[] result = new byte[4];
        byte[] id     = IOParser.String2IntArray(GameConfig.GAME_CONFIG_ID);
        result[0] = (byte)(id[0] + id[6]);
        result[1] = (byte)(id[1] + id[5]);
        result[2] = (byte)(id[2] + id[4]);
        result[3] = (byte)(id[3] + id[3]);

        return(result);
    }
Beispiel #14
0
        public void ParseResponse_IDictionary_WithStatusAsInt()
        {
            var response = new Dictionary <string, object>
            {
                { "statusCode", 200 }
            };
            var tags = IOParser.ParseResponse(response);

            Assert.That(tags.Keys.Contains("status"), Is.True);

            Assert.That(tags["status"], Is.EqualTo("200"));
        }
Beispiel #15
0
    public static byte[] DAT3_7()
    {
        byte[] id = IOParser.String2IntArray(GameConfig.GAME_CONFIG_ID);
        for (int i = 0; i < id.Length; ++i)
        {
            byte a = (byte)(id[i] << 2);
            byte b = (byte)(id[i] >> 6);
            id[i] = (byte)((byte)(a + b) + 4);
        }

        return(id);
    }
Beispiel #16
0
    public static byte[] DAT3_A()
    {
        byte[] result = new byte[2];
        byte[] id     = IOParser.String2IntArray(GameConfig.GAME_CONFIG_ID);
        byte   a      = (byte)((byte)((id[4] + id[5])) << 2);
        byte   b      = (byte)((byte)((id[4] + id[5])) >> 5);
        byte   c      = (byte)((byte)(a + b) + 9);

        result[0] = (byte)(c >> 4);
        result[1] = (byte)((byte)((c << 4)) >> 4);
        return(result);
    }
Beispiel #17
0
        public void ParseRequest_ApplicationLoadBalancerRequest_InvocationSourceNull()
        {
            _baseApplicationLoadBalancerRequest.RequestContext = null;
            var tags = IOParser.ParseRequest(_baseApplicationLoadBalancerRequest);

            Assert.That(tags.Keys.Contains("method"), Is.True);
            Assert.That(tags.Keys.Contains("uri"), Is.True);

            Assert.That(tags.Keys.Contains("method"), Is.True);
            Assert.That(tags.Keys.Contains("uri"), Is.True);
            Assert.That(tags.Keys.Contains("aws.lambda.eventSource.arn"), Is.False);
            Assert.That(tags["method"], Is.EqualTo("POST"));
            Assert.That(tags["uri"], Is.EqualTo("/test/path"));
        }
Beispiel #18
0
        public void ParseRequest_ApplicationLoadBalancerRequest_WithoutHeaders()
        {
            var tags = IOParser.ParseRequest(_baseApplicationLoadBalancerRequest);

            Assert.That(tags.Keys.Contains("method"), Is.True);
            Assert.That(tags.Keys.Contains("uri"), Is.True);

            Assert.That(tags.Keys.Contains("method"), Is.True);
            Assert.That(tags.Keys.Contains("uri"), Is.True);
            Assert.That(tags.Keys.Contains("aws.lambda.eventSource.arn"), Is.True);
            Assert.That(tags["method"], Is.EqualTo("POST"));
            Assert.That(tags["uri"], Is.EqualTo("/test/path"));
            Assert.That(tags["aws.lambda.eventSource.arn"], Is.EqualTo("test-arn"));
        }
Beispiel #19
0
    /// <summary>
    /// 根据得到的字节数进行解析
    /// </summary>
    /// <param name="bytes">上位机一次能接受到的所有的字节数</param>
    /// <param name="ioEvent">存储按键事件</param>
    public static void GetBools(byte[] bytes, IOEvent ioEvent)
    {
        //byte[0]为协议头
        byte k = bytes[1];
        byte q = bytes[2];

        ioEvent.IsGather    = (IOParser.GetBit(0, k) == 1);
        ioEvent.IsPullDown  = (IOParser.GetBit(1, k) == 1);
        ioEvent.IsPullUp    = (IOParser.GetBit(2, k) == 1);
        ioEvent.IsTurnRight = (IOParser.GetBit(3, k) == 1);
        ioEvent.IsTurnLeft  = (IOParser.GetBit(4, k) == 1);
        ioEvent.IsMissile   = (IOParser.GetBit(5, k) == 1);
        ioEvent.IsStart     = (IOParser.GetBit(6, k) == 1);
        ioEvent.IsCoin      = (IOParser.GetBit(7, k) == 1);

        ioEvent.IsConfirm  = (IOParser.GetBit(7, q) == 1);
        ioEvent.IsSelect   = (IOParser.GetBit(6, q) == 1);
        ioEvent.IsResetEye = (IOParser.GetBit(5, q) == 1);
        ioEvent.IsUpEye    = (IOParser.GetBit(4, q) == 1);
        ioEvent.IsDownEye  = (IOParser.GetBit(3, q) == 1);
        ioEvent.IsTicket   = (IOParser.GetBit(2, q) == 1);
    }
Beispiel #20
0
        public void ParseResponse_ApplicationLoadBalancerResponse_WithMultiValueHeaders()
        {
            _baseApplicationLoadBalancerResponse.MultiValueHeaders = _multiValueHeaders;
            var tags = IOParser.ParseResponse(_baseApplicationLoadBalancerResponse);

            Assert.That(tags.Keys.Contains("status"), Is.True);
            Assert.That(tags.Keys.Contains("headers.x-forwarded-proto"), Is.True);
            Assert.That(tags.Keys.Contains("headers.x-forwarded-port"), Is.True);
            Assert.That(tags.Keys.Contains("headers.content-type"), Is.True);
            Assert.That(tags.Keys.Contains("headers.content-length"), Is.True);
            Assert.That(tags.Keys.Contains("newrelic"), Is.True);

            Assert.That(tags["status"], Is.EqualTo("200"));
            Assert.That(tags["headers.x-forwarded-proto"], Is.EqualTo("proto"));
            Assert.That(tags["headers.x-forwarded-port"], Is.EqualTo("1234,4321"));
            Assert.That(tags["headers.content-type"], Is.EqualTo("application/json"));
            Assert.That(tags["headers.content-length"], Is.EqualTo("1000"));
            Assert.That(tags["newrelic"], Is.EqualTo("dt-payload"));

            Assert.That(tags.Keys.Contains("headers.access-control-allow-origin"), Is.False);
            Assert.That(tags.Keys.Contains("headers.custom-header"), Is.False);
        }
Beispiel #21
0
        public void ParseRequest_APIGatewayProxyRequest_WithSingleValueHeaders()
        {
            _baseAPIGatewayProxyRequest.Headers = _singleValueHeaders;
            var tags = IOParser.ParseRequest(_baseAPIGatewayProxyRequest);

            Assert.That(tags.Keys.Contains("method"), Is.True);
            Assert.That(tags.Keys.Contains("uri"), Is.True);
            Assert.That(tags.Keys.Contains("headers.x-forwarded-proto"), Is.True);
            Assert.That(tags.Keys.Contains("headers.x-forwarded-port"), Is.True);
            Assert.That(tags.Keys.Contains("headers.content-type"), Is.True);
            Assert.That(tags.Keys.Contains("headers.content-length"), Is.True);
            Assert.That(tags.Keys.Contains("newrelic"), Is.True);

            Assert.That(tags["method"], Is.EqualTo("POST"));
            Assert.That(tags["uri"], Is.EqualTo("/test/path"));
            Assert.That(tags["headers.x-forwarded-proto"], Is.EqualTo("proto"));
            Assert.That(tags["headers.x-forwarded-port"], Is.EqualTo("1234"));
            Assert.That(tags["headers.content-type"], Is.EqualTo("application/json"));
            Assert.That(tags["headers.content-length"], Is.EqualTo("1000"));
            Assert.That(tags["newrelic"], Is.EqualTo("dt-payload"));

            Assert.That(tags.Keys.Contains("headers.access-control-allow-origin"), Is.False);
            Assert.That(tags.Keys.Contains("headers.custom-header"), Is.False);
        }
Beispiel #22
0
    private bool CheckData()
    {
        if (0 == _readBuf[1])
        {
            ID = new byte[7];
            for (int i = 0; i < 7; ++i)
            {
                ID[i] = _readBuf[i + 5];
            }
            string str = IOParser.ByteArray2String(ID);
            Main.IOManager.IDString = str;
            return(true);
        }

        bool pass = false;

        if (1 == _readBuf[1])
        {
            switch (_readBuf[2])
            {
            case 0x01:
            {
                pass = DealAlg.Compare(_readBuf[5], DealAlg.DAT3_1());
                break;
            }

            case 0x02:
            {
                pass = DealAlg.Compare(_readBuf[6], DealAlg.DAT3_2());
                break;
            }

            case 0x03:
            {
                byte[] a = new byte[4];
                a[0] = _readBuf[5];
                a[1] = _readBuf[6];
                a[2] = _readBuf[8];
                a[3] = _readBuf[9];
                pass = DealAlg.Compare(a, DealAlg.DAT3_3());
                break;
            }

            case 0x04:
            {
                byte[] a = new byte[4];
                a[0] = _readBuf[5];
                a[1] = _readBuf[6];
                a[2] = _readBuf[7];
                a[3] = _readBuf[9];
                pass = DealAlg.Compare(a, DealAlg.DAT3_4());
                break;
            }

            case 0x05:
            {
                byte[] a = new byte[7];
                a[0] = _readBuf[4];
                a[1] = _readBuf[5];
                a[2] = _readBuf[6];
                a[3] = _readBuf[7];
                a[4] = _readBuf[8];
                a[5] = _readBuf[9];
                a[6] = _readBuf[11];
                pass = DealAlg.Compare(a, DealAlg.DAT3_5());
                break;
            }

            case 0x06:
            {
                byte[] a = new byte[7];
                a[0] = _readBuf[5];
                a[1] = _readBuf[6];
                a[2] = _readBuf[7];
                a[3] = _readBuf[8];
                a[4] = _readBuf[9];
                a[5] = _readBuf[10];
                a[6] = _readBuf[11];
                pass = DealAlg.Compare(a, DealAlg.DAT3_6());
                break;
            }

            case 0x07:
            {
                byte[] a = new byte[7];
                a[0] = _readBuf[4];
                a[1] = _readBuf[5];
                a[2] = _readBuf[7];
                a[3] = _readBuf[8];
                a[4] = _readBuf[9];
                a[5] = _readBuf[10];
                a[6] = _readBuf[11];
                pass = DealAlg.Compare(a, DealAlg.DAT3_7());
                break;
            }

            case 0x08:
            {
                byte[] a = new byte[7];
                a[0] = _readBuf[4];
                a[1] = _readBuf[5];
                a[2] = _readBuf[6];
                a[3] = _readBuf[7];
                a[4] = _readBuf[9];
                a[5] = _readBuf[10];
                a[6] = _readBuf[12];
                pass = DealAlg.Compare(a, DealAlg.DAT3_8());
                break;
            }

            case 0x09:
            {
                pass = DealAlg.Compare(_readBuf[7], DealAlg.DAT3_9());
                break;
            }

            case 0x0A:
            {
                byte[] a = new byte[2];
                a[0] = _readBuf[6];
                a[1] = _readBuf[7];
                pass = DealAlg.Compare(a, DealAlg.DAT3_A());
                break;
            }
            }
        }

        if (!pass)
        {
            Main.IOManager.HasCheck = false;
            return(false);
        }

        Main.IOManager.HasCheck = true;
        return(true);
    }
Beispiel #23
0
    public void ReadDatas()
    {
        byte h = serialiohost.Read(-1);

        byte k = serialiohost.Read(0);
        byte q = serialiohost.Read(1);

        ioevent[0].IsGather    = (IOParser.GetBit(0, k) == 1);
        ioevent[0].IsPullDown  = (IOParser.GetBit(1, k) == 1);
        ioevent[0].IsPullUp    = (IOParser.GetBit(2, k) == 1);
        ioevent[0].IsTurnRight = (IOParser.GetBit(3, k) == 1);
        ioevent[0].IsTurnLeft  = (IOParser.GetBit(4, k) == 1);
        ioevent[0].IsMissile   = (IOParser.GetBit(5, k) == 1);
        ioevent[0].IsStart     = (IOParser.GetBit(6, k) == 1);
        ioevent[0].IsCoin      = (IOParser.GetBit(7, k) == 1);

        ioevent[0].IsConfirm  = (IOParser.GetBit(7, q) == 1);
        ioevent[0].IsSelect   = (IOParser.GetBit(6, q) == 1);
        ioevent[0].IsResetEye = (IOParser.GetBit(5, q) == 1);
        ioevent[0].IsUpEye    = (IOParser.GetBit(4, q) == 1);
        ioevent[0].IsDownEye  = (IOParser.GetBit(3, q) == 1);
        ioevent[0].IsTicket   = (IOParser.GetBit(2, q) == 1);

        IOManager.Instance.NeedOutPutTicket = System.BitConverter.ToInt32(new byte[] { serialiohost.Read(4), serialiohost.Read(3), 0, 0 }, 0);

        serialiohost.ResetRead();

        if (h == 0xAA)
        {
            // 投币
            if (ioevent[0].IsCoin)
            {
                ioo.gameMode.Normal();
                SettingManager.Instance.AddCoin();
                SettingManager.Instance.Save();
                EventDispatcher.TriggerEvent(EventDefine.Event_Update_Coin);
            }

            if (ioevent[0].IsMissile)
            {
                if (ioo.gameMode.State == GameState.Coin)
                {
                    ioo.gameMode.Normal();
                }
                EventDispatcher.TriggerEvent(EventDefine.Event_Sure_Or_Missile);
            }

            //if (ioo.gameMode.State == GameState.Coin)
            //{
            //    // 开始游戏
            //    if (ioevent[0].IsStart)
            //    {
            //        ioo.gameMode.Normal();
            //        EventDispatcher.TriggerEvent(EventDefine.Event_Button_Sure);
            //    }
            //}

            // 射击
            if (ioo.gameMode.State == GameState.Play)
            {
                if (ioevent[0].IsStart)
                {
                    //EventDispatcher.TriggerEvent(EventDefine.Event_Player_Fire);
                    ioo.gameMode.Player.IsPress = true;
                    ioo.gameMode.CanFire        = true;
                }
                else
                {
                    ioo.gameMode.Player.IsPress = false;
                    ioo.gameMode.CanFire        = false;
                }

                if (ioevent[0].IsGather)
                {
                    EventDispatcher.TriggerEvent(EventDefine.Event_Player_Gather);
                }
            }

            //if (ioo.gameMode.State == GameState.Continue)
            //{
            //    if (ioevent[0].IsStart)
            //    {
            //        EventDispatcher.TriggerEvent(EventDefine.Event_Button_Sure);
            //    }
            //}

            //if (ioo.gameMode.State == GameState.Select)
            //{
            //    // 确认地图
            //    if (ioevent[0].IsStart)
            //    {
            //        EventDispatcher.TriggerEvent(EventDefine.Event_Button_Sure);
            //    }
            //}

            // 后台A
            if (ioevent[0].IsConfirm)
            {
                ioo.gameMode.Normal();
                EventDispatcher.TriggerEvent(EventDefine.Event_Button_A);
            }

            // 后台B
            if (ioevent[0].IsSelect)
            {
                ioo.gameMode.Normal();
                EventDispatcher.TriggerEvent(EventDefine.Event_Button_B);
            }

            IOManager.Instance.ResetEvent_0(0);
        }
    }