public System.Object CreateProduct(int productType, System.Object referenceObject, GameObject referenceObjectGameObject = null) { System.Object product = null; //Is going to be repeated in other classes. //1.Put this in constructor?(Forced to use a larger scope, might create overhead) //This structure is fragile List <System.Object> requirementPointers = SystemToolMethods.ReturnObjectPointers(referenceObject, requirementPointerNames); InputHandlerUpdater inputHandlerUpdater = (InputHandlerUpdater)requirementPointers[0]; switch (productType) { case (int)FactoriesProducts.InputstateProducts.PlayerInputHandlerDefaultState: product = new PlayerInputHandlerDefaultState(referenceObject, referenceObjectGameObject, inputHandlerUpdater); break; case (int)FactoriesProducts.InputstateProducts.UINavigatorDefaultState: product = new UINavigatorInputHandlerDefaultState(inputHandlerUpdater); break; case (int)FactoriesProducts.InputstateProducts.UINavigatorInGameState: product = new UINavigatorInputHandlerInGameState(inputHandlerUpdater); break; } return(product); }
void Start() { inputStateFactory = new InputStateFactory(); InputHandlerUpdater = new InputHandlerUpdater(gameObject); InputHandlerUpdater.CurrentInputHandler = (InputHandlerState)InputStateFactory.CreateProduct( (int)FactoriesProducts.InputstateProducts.UINavigatorDefaultState, this, gameObject); objectRefresher = new EventsystemCurrentGameObjectRefresher(EventSystem.current); updaters.AddRange(new List <IUpdater>() { InputHandlerUpdater, objectRefresher }); }
//Read scriptableobject for different configurations private void Start() { inputStateFactory = new InputStateFactory(); inputhandlerUpdater = new InputHandlerUpdater(gameObject); inputhandlerUpdater.CurrentInputHandler = (InputHandlerState)InputStateFactory.CreateProduct( (int)FactoriesProducts.InputstateProducts.PlayerInputHandlerDefaultState, this, gameObject); powerUpInventory = new PowerUpInventory(); playerCollisionHandler = new PlayerCollisionHandler(gameObject, powerUpInventory); movementDataHolder = Resources.Load("Prefabs/DefaultMovementDataHolder") as MovementDataHolder; updaters.Add(inputhandlerUpdater); fixedUpdaters.Add(inputhandlerUpdater); collideAbles.Add(playerCollisionHandler); }
public PlayerInputHandlerDefaultState(System.Object objectAttachedTo, GameObject gameobjectAttachedTo, InputHandlerUpdater inputHandlerUpdaterAttachedTo) { this.objectAttachedTo = objectAttachedTo; this.gameobjectAttachedTo = gameobjectAttachedTo; this.InputHandlerUpdater = inputHandlerUpdaterAttachedTo; moveCommand = new SetRigidbodyVelocityCommand(this); rotateCommand = new RotateRigidbodyCommand(this); inputScheme = gameobjectAttachedTo.GetComponent <IInputSchemeHolder>().GetInputScheme(); //stringBlock.ControllerOrder = 1.ToString(); }
public UINavigatorInputHandlerDefaultState(InputHandlerUpdater inputHandlerUpdater) { uIPageHolder = GameObject.Find("UICanvas").GetComponent <UIPageHolder>(); InputHandlerUpdater = inputHandlerUpdater; }