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 Move() { //Vector2 movedFrom = new Vector2 gameSpace.roundedPos = new Vector2(this.transform.position.x, this.transform.position.y); menu.value = -1; isAttacking = false; gather.ClearInfo(); players = GameObject.FindObjectsOfType <Player>(); if (moves > 0) { foreach (Player player in players) { player.IsMoving = false; } this.IsMoving = true; moveChecker.CheckAvaliable(this.transform.position, moves); moveChecker.ShowSquares(); } }