Esempio n. 1
0
    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);
    }
Esempio n. 2
0
 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
     });
 }
Esempio n. 3
0
    //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;
 }