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); }
//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 void SetMovementDataHolder(MovementDataHolder movementDataHolder) { this.movementDataHolder = movementDataHolder; }