public void Copy(InputSnapshot snapshot)
        {
            this.axes    = new long[snapshot.axes.Length];
            this.buttons = new ButtonSnapshot[snapshot.buttons.Length];

            for (int i = 0; i < this.axes.Length; i++)
            {
                this.axes[i] = snapshot.axes[i];
            }

            for (int i = 0; i < this.buttons.Length; i++)
            {
                this.buttons[i].down    = snapshot.buttons[i].down;
                this.buttons[i].pressed = snapshot.buttons[i].pressed;
                this.buttons[i].up      = snapshot.buttons[i].up;
            }
        }
 public InputSnapshot(InputSnapshot snapshot)
 {
     this.axes    = snapshot.axes;
     this.buttons = snapshot.buttons;
 }