override public void Movement() { if (playerReference != null) { if (Vector3.Distance(transform.position, playerReference.transform.position) < targetDistance) { if (Vector3.Distance(transform.position, playerReference.transform.position) < meleDistance) { if (!canAttack) { canAttack = true; if (transform.position.x < playerReference.gameObject.transform.position.x) { directionAttack = DirectionAttack.Right; animator.SetTrigger("AttackRight"); } if (transform.position.x > playerReference.gameObject.transform.position.x) { directionAttack = DirectionAttack.Left; animator.SetTrigger("AttackLeft"); } } } else { if (!canAttack) { if (transform.position.x > playerReference.gameObject.transform.position.x) { gameObject.transform.position -= transform.right * stats.speedMovement * Time.deltaTime; } if (transform.position.x < playerReference.gameObject.transform.position.x) { gameObject.transform.position += transform.right * stats.speedMovement * Time.deltaTime; } } } } } }
private void DoMovement() { _translateX = Input.GetAxis(_myID + ": Horizontal") * _speed * Time.deltaTime; _translateY = Input.GetAxis(_myID + ": Vertical") * _speed * Time.deltaTime; _myTransform.Translate(_translateX, _translateY, 0); #region Movement Constraints if (_myTransform.position.x >= RIGHT_X_CONSTRAINT) { _myTransform.position = new Vector3(RIGHT_X_CONSTRAINT, _myTransform.position.y, _myTransform.position.z); } if (_myTransform.position.x <= LEFT_X_CONSTRAINT) { _myTransform.position = new Vector3(LEFT_X_CONSTRAINT, _myTransform.position.y, _myTransform.position.z); } if (_myTransform.position.y >= UP_Y_CONSTRAINT) { _myTransform.position = new Vector3(_myTransform.position.x, UP_Y_CONSTRAINT, _myTransform.position.z); } if (_myTransform.position.y <= DOWN_Y_CONSTRAINT) { _myTransform.position = new Vector3(_myTransform.position.x, DOWN_Y_CONSTRAINT, _myTransform.position.z); } #endregion #region Grab Direction if (Input.GetAxis(_myID + ": Horizontal") > 0f) { myDirection = Direction.Right; myDirectAttack = DirectionAttack.Right; } else if (Input.GetAxis(_myID + ": Horizontal") < 0f) { myDirection = Direction.Left; myDirectAttack = DirectionAttack.Left; } else if (Input.GetAxis(_myID + ": Vertical") > 0f) { myDirection = Direction.Up; } else if (Input.GetAxis(_myID + ": Vertical") < 0f) { myDirection = Direction.Down; } #endregion }