private void AddBehaviours() { var behaviours = RootGameObject.GetComponentsInChildren <MonoBehaviour>(true); bool haveRootInputControl = false; bool haveJoints = false; foreach (MonoBehaviour behaviour in behaviours) { if (behaviour == null) { continue; } bool haveInputControlInObject; bool haveInputControlInRoot; AddInputControl(behaviour, out haveInputControlInObject, out haveInputControlInRoot); if (haveInputControlInObject) { haveRootInputControl = true; } AddGameModeSwitchControls(behaviour); AddCollidersAware(behaviour); AddObjectTransforms(behaviour); } if (!haveRootInputControl) { var inputController = new InputController(this, RootGameObject, true, true); _inputControllers.Add(-1, inputController); LogManager.GetCurrentClassLogger().Info("Added input controller on " + RootGameObject.name); } Entity.AddInputControls(_inputControllers); }
public void Init(InputController inputController) { _inputController = inputController; }