private void SyncJetpackState(PlatformerPlayerCommand cmd)
 {
     state.JetpackFlameState[0] = cmd.Input.JetpackUp ? 1 : 0;
     state.JetpackFlameState[1] = cmd.Input.JetpackDown ? 1 : 0;
     state.JetpackFlameState[2] = cmd.Input.JetpackLeft ? 1 : 0;
     state.JetpackFlameState[3] = cmd.Input.JetpackRight ? 1 : 0;
 }
 private void FireWeapon(PlatformerPlayerCommand cmd)
 {
     state.Fire();
     _weapon.FireOneShot();
     _fire = false;
     // if we are the owner and the active weapon is a hitscan weapon, do logic
 }
    public override void SimulateController()
    {
        var input = PlatformerPlayerCommand.Create();

        input.Left           = _left;
        input.Right          = _right;
        input.Up             = _up;
        input.Down           = _down;
        input.Jump           = _jump;
        input.Shift          = _shift;
        input.MousePos       = _mousePos;
        input.FacingRight    = CheckDirection(_motor.PlayerCamera, input.MousePos);
        input.WeaponRotation = _aiming.Aim(_motor.PlayerCamera, input.MousePos);
        input.Fire           = _fire;
        input.JetpackUp      = _jetpack.FlameInput(input.Up, input.Shift);
        input.JetpackDown    = _jetpack.FlameInput(input.Down, input.Shift);
        input.JetpackLeft    = _jetpack.FlameInput(input.Left, input.Shift);
        input.JetpackRight   = _jetpack.FlameInput(input.Right, input.Shift);
        entity.QueueInput(input);
    }