public void Execute(GameObject actor)
    {
        MovementDataHolder movementDataHolder = actor.GetComponent <IMovementDataHolder>().GetMovementDataHolder();
        Vector3            forceToAdd         = movementDataHolder.LastMovementInput;

        actor.GetComponent <Rigidbody>().AddForce(forceToAdd);
    }
    private void UpdateLastMovementInput(string horizontalAxisString, string verticalAxisString)
    {
        MovementDataHolder movementDataHolder = gameobjectAttachedTo.GetComponent <IMovementDataHolder>().GetMovementDataHolder();

        movementDataHolder.LastMovementInput = new Vector3(Input.GetAxis(horizontalAxisString), 0, Input.GetAxis(verticalAxisString));
        fixedUpdateCommands.Add(moveCommand);
        fixedUpdateCommands.Add(rotateCommand);
    }
    public void Execute(GameObject actor)
    {
        MovementDataHolder movementDataHolder = actor.GetComponent <IMovementDataHolder>().GetMovementDataHolder();
        Vector3            movementDirection  = movementDataHolder.LastMovementInput;
        float movementSpeed = movementDataHolder.MovementSpeed;

        actor.GetComponent <Rigidbody>().velocity = movementDirection.normalized * movementSpeed;
    }
    public void Execute(GameObject actor)
    {
        MovementDataHolder movementDataHolder = actor.GetComponent <IMovementDataHolder>().GetMovementDataHolder();
        Vector3            movementDirection  = movementDataHolder.LastMovementInput;
        Quaternion         newRotaion         = Quaternion.LookRotation(movementDirection);
        Transform          actorTransform     = actor.GetComponent <Transform>();

        actorTransform.rotation = Quaternion.Slerp(actorTransform.rotation, newRotaion, Time.deltaTime * movementDataHolder.RotationSpeed);
    }
Esempio n. 5
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);
    }
Esempio n. 6
0
 public void SetMovementDataHolder(MovementDataHolder movementDataHolder)
 {
     this.movementDataHolder = movementDataHolder;
 }