Пример #1
0
    static public KeyBuffer CreateKey()
    {
        KeyBuffer buff = new KeyBuffer();

        KeyBufferManager.keyBuffers.Add(buff);

        return(buff);
    }
Пример #2
0
    private void HandleKeyEvent(KeyBuffer inBuffer)
    {
        if (inBuffer.KeyCodeValue == KeyCode.A || inBuffer.KeyCodeValue == KeyCode.D)
        {
            UpdateLeftJoystick();
            return;
        }

        if (inBuffer.CmdMessage.InputCommand != EInputCommand.None && buttonCommandListoner != null)
        {
            buttonCommandListoner(inBuffer.CmdMessage);
        }
    }
Пример #3
0
        /// <summary>
        /// Verifies if the key has buffer or not.
        /// Similar to the fade TakerOrCreate method
        /// </summary>
        /// <param name="key">The key to buffer.</param>
        /// <returns>A KeyBuffer if the key doesn't have.</returns>
        private KeyBuffer TakeOrCreate(Keys key)
        {
            int has = _buffers.FindIndex(i => i.Key == key);

            if (has >= 0)
            {
                return(_buffers[has]);
            }
            else
            {
                var buffer = new KeyBuffer()
                {
                    Key = key, Time = _bufferInterval
                };
                _buffers.Add(buffer);
                return(buffer);
            }
        }
Пример #4
0
        /// <summary>
        /// The initialization function for the thread local key buffer.
        /// </summary>
        /// <returns>The key buffer.</returns>
        private static KeyBuffer InitializeKeyBuffers()
        {
            var keyBuffer = new KeyBuffer();

            keyBuffer.keyBuffer1 = new byte[0x100];
            keyBuffer.keyBuffer2 = new byte[0x100];
            byte i_key1 = 0x9D;
            byte i_key2 = 0x62;

            for (int i = 0; i < 0x100; i++)
            {
                keyBuffer.keyBuffer1[i] = i_key1;
                keyBuffer.keyBuffer2[i] = i_key2;
                i_key1 = (byte)((0x0F + (byte)(i_key1 * 0xFA)) * i_key1 + 0x13);
                i_key2 = (byte)((0x79 - (byte)(i_key2 * 0x5C)) * i_key2 + 0x6D);
            }

            return(keyBuffer);
        }
Пример #5
0
    // Start is called before the first frame update
    void Start()
    {
        if (!main)
        {
            main = this;
        }

        kb_L3 = KeyBufferManager.CreateKey();
        kb_B  = KeyBufferManager.CreateKey();

        rb       = GetComponent <Rigidbody>();
        animator = GetComponent <Animator>();

        AnmID_Defense    = Animator.StringToHash("isDefense");
        AnmID_isAnimated = Animator.StringToHash("isParticleAnimated");

        defaultDrag        = rb.drag;
        defaultAngularDrag = rb.angularDrag;

        renderers.AddRange(GetComponentsInChildren <Renderer>());
    }
Пример #6
0
    // Start is called before the first frame update
    void Start()
    {
        if (!main)
        {
            main = this;
        }

        //アバターコンポ


        animLayer_impact = animator.GetLayerIndex("impact Layer");

        ikManager        = animator.GetComponent <PlayerIKManager>();
        breathingManager = animator.GetComponent <BreathingManager>();


        //ボールコンポ
        ballRB       = GetComponent <Rigidbody>();
        ballCollider = GetComponent <SphereCollider>();
        myContacts   = GetComponent <ContactManager>();
        wireManager  = GetComponent <WireManager>();



        //IK
        lookRotation               = new GameObject("lookRotation").transform;
        lookRotation.parent        = tAvatar;
        lookRotation.localPosition = Vector3.zero;
        lookForward               = new GameObject("lookForward").transform;
        lookForward.parent        = lookRotation;
        lookForward.localPosition = Vector3.forward;


        //キーバッファ
        key_B  = KeyBufferManager.CreateKey();
        key_R1 = KeyBufferManager.CreateKey();
        key_L2 = KeyBufferManager.CreateKey();
    }
Пример #7
0
        public virtual void KeysPressed(Keys[] pressedKeys)
        {
            if (!Focused)
            {
                return;
            }

            if (pressedKeys.Count() > 0)
            {
                // We have to do this to always show the strip when any letter is pressed
                ResetStrip(true);

                // Catch normal keys then transform to array
                Keys[] normalKeys = pressedKeys.Intersect(Settings.AllowedKeysInput).ToArray();

                if (normalKeys.Count() > 0)
                {
                    // We catch just one key
                    Keys key = normalKeys[0];

                    KeyBuffer buffer = TakeOrCreate(key);

                    // Change caps lock status

                    // check if can write key
                    if (buffer.Time > _bufferInterval)
                    {
                        if (key == Keys.Back)
                        {
                            if (!string.IsNullOrEmpty(Font.Text))
                            {
                                Text = Text.Substring(0, Text.Length - 1);
                            }
                        }
                        else
                        {
                            bool isCapsActive = ((ushort)WinInput.GetKeyState(WinInput.Key.CapsLock)) != 0;

                            //Refactor key string
                            string keyString = key.ToString();

                            // Refactor uppercase
                            Keys[] upperKeys = pressedKeys.Intersect(Settings.UpperKeysInput).ToArray();

                            keyString = TransformKey(key, keyString, upperKeys.Length > 0);

                            // Handles shift and caps lock conflict
                            if (isCapsActive && upperKeys.Length <= 0)
                            {
                                keyString = keyString.ToUpper();
                            }
                            else if (!isCapsActive && upperKeys.Length > 0)
                            {
                                keyString = keyString.ToUpper();
                            }
                            else
                            {
                                keyString = keyString.ToLower();
                            }

                            Text += keyString;
                        }

                        // Reset buffer
                        buffer.Time = 0;
                    }
                }
            }
        }
 public WegmanCarterAuthenticator(KeyBuffer keyBuffer, int macLength)
 {
     _keyBuffer = keyBuffer;
     _macLength = macLength;
 }