protected virtual void MoveToTile(Vector3Int nextTile, float speed)
    {
        float distanceToDestination = Vector2.Distance(transform.position, grid.GetCellCenterWorld(nextTile));

        if (distanceToDestination > 0.1)
        {
            transform.position = GridMovement.MoveToTile(transform.position, nextTile, grid, speed * Time.deltaTime);
        }
        else
        {
            currentTile        = nextTile;
            transform.position = grid.GetCellCenterWorld(currentTile);
        }
        currentTile = grid.WorldToCell(this.transform.position);
    }
Пример #2
0
    //TODO: Update tiles that they are occupied by this entity
    /// <summary>
    /// Sets the tile for the Entity to move towards to
    /// </summary>
    /// <returns></returns>
    protected virtual void MoveToTile(Vector3Int nextTile, float speed)
    {
        float distanceToDestination = Vector3.Distance(transform.position, grid.GetCellCenterWorld(nextTile));

        if (distanceToDestination > 0.1)
        {
            transform.position = GridMovement.MoveToTile(transform.position, nextTile, grid, speed * Time.deltaTime);
        }
        else
        {
            currentTile = nextTile;
            dungeonManager.dungeonGenerator.DungeonTerrainTiles[currentTile.x, currentTile.y].gridEntity = this;
            transform.position = grid.GetCellCenterWorld(currentTile);
        }
    }