private void CalculatePositionToMoveTo() { moveChecker.ClearFree(); moveChecker.CheckAvaliable(currentPlayerPosition, 1); if (moveChecker.IsOccupied(enemys[0].enemyObject.transform.position.x, enemys[0].enemyObject.transform.position.y)) { proposedPos = new Vector2(currentPlayer.transform.position.x, currentPlayer.transform.position.y); } else if (((int)currentPlayerPosition.x + currentPlayer.moves) + currentPlayer.GetComponent <CharacterAtributes>().range >= enemys[0].enemyObject.transform.position.x) { moveChecker.ClearFree(); moveChecker.CheckAvaliable(currentPlayerPosition, currentPlayer.moves); int b = ((int)enemys[0].enemyObject.transform.position.x - (int)currentPlayerPosition.x) - currentPlayer.GetComponent <CharacterAtributes>().range; proposedPos = new Vector2(currentPlayerPosition.x + b, enemys[0].enemyObject.transform.position.y); //if((proposedPos.x == currentPlayerPosition.x)&& enemys[0].enemyObject.transform.position.y == currentPlayerPosition.y) //{ // proposedPos = new Vector2(currentPlayerPosition.x, currentPlayerPosition.y); // } } else { moveChecker.ClearFree(); moveChecker.CheckAvaliable(currentPlayerPosition, currentPlayer.moves); proposedPos = new Vector2(currentPlayerPosition.x + currentPlayer.moves, enemys[0].enemyObject.transform.position.y); // print(currentPlayer.name + " " + enemys[0].enemyName); } MoveToNewPosition(); }
public void Attack() { menu.value = -1; moveChecker.ClearFree(); moveChecker.CheckAvaliable(this.transform.position, 1); int R = CheckRange(); if (gather.selectedTargetPos.x < this.transform.position.x) { gameObject.transform.localScale = new Vector3(-1, transform.localScale.y); } if (gather.selectedTargetPos.x > this.transform.position.x) { gameObject.transform.localScale = new Vector3(1, transform.localScale.y); } if (moveChecker.IsOccupied(gather.selectedTargetPos.x, gather.selectedTargetPos.y)) { anim.SetTrigger("attackTrigger"); } else if (atri.shooting > 0 && atri.range >= R) { anim.SetTrigger("rangedAttackTrigger"); } else { turnover.SetMessage(("Target out of range"), 0.75f); done = true; } }