﻿// Copyright 2017 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

using UnityEngine;
using System.Collections.Generic;

namespace Hamster.InputControllers {

  // Class for compositing multile input sources.
  // Useful for normalizing and combining different input sources.
  public class MultiInputController : BasePlayerController {

    List<BasePlayerController> controllerList;

    public MultiInputController() {

      controllerList = new List<BasePlayerController>() {
        new KeyboardController(),
      };
      if (CommonData.inVrMode) {
        controllerList.Add(new DaydreamTiltController());
      } else {
        new TiltController();
      }
    }

    public override Vector2 GetInputVector() {
      Vector2 result = Vector2.zero;
      foreach (BasePlayerController controller in controllerList) {
        result += controller.GetInputVector();
      }
      return result;
    }
  }
}

﻿// Copyright 2017 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

using UnityEngine;
using System.Collections.Generic;

namespace Hamster.InputControllers {

  // Class for compositing multile input sources.
  // Useful for normalizing and combining different input sources.
  public class MultiInputController : BasePlayerController {

    List<BasePlayerController> controllerList;

    public MultiInputController() {

      controllerList = new List<BasePlayerController>() {
        new KeyboardController(),
      };
      if (CommonData.inVrMode) {
        controllerList.Add(new DaydreamTiltController());
      } else {
        controllerList.Add(new TiltController());
      }
    }

    public override Vector2 GetInputVector() {
      Vector2 result = Vector2.zero;
      foreach (BasePlayerController controller in controllerList) {
        result += controller.GetInputVector();
      }
      return result;
    }
  }
}

Fix multi-input controller not adding tilt.
Fix multi-input controller not adding tilt.

Tested on Android.

Change-Id: I2aad833effbe743a9915ae7dc899feed677a60ec
