Exemple #1
0
    public void AStar(GridTiles gridTiles)
    {
        Dictionary <GridTile, GridTile> cameFrom  = new Dictionary <GridTile, GridTile>();
        Dictionary <GridTile, float>    costSoFar = new Dictionary <GridTile, float>();

        Debug.Log(gridTiles.begin);
        if (gridTiles.begin != null)
        {
            Debug.Log(gridTiles.begin);
            open.Add(gridTiles.begin);
        }

        while (!endReached)
        {
            GridTile lowestF = open[0];
            if (lowestF == gridTiles.end)
            {
                return;
            }
            else
            {
                closed.Add(lowestF);
                List <GridTile> neighbours = FindNeighbours(lowestF.arrayPosition, gridTiles);
                foreach (GridTile neighbour in neighbours)
                {
                    if (neighbour.g < lowestF.g && closed.BinarySearch(neighbour) > 0)
                    {
                    }
                    Debug.Log(neighbour.arrayPosition);
                }
            }
            endReached = true;
        }
    }
Exemple #2
0
    public void Move()
    {
        if (path.Count > 0)
        {
            GridTiles t      = path.Peek();
            Vector3   target = t.transform.position;

            //Calculate the unit's position on top of the target tile
            target.y += halfHeight; //+ t.GetComponent<Collider>().bounds.extents.y;

            if (Vector3.Distance(transform.position, target) >= 0.05f)
            {
                CalculateHeading(target);
                SetHorizotalVelocity();
                //Locomotion
                transform.forward = heading;


                //transform.position += velocity * Time.deltaTime;
            }
            else
            {
                //Tile center reached
                transform.position = target;
                path.Pop();
            }
        }
        else
        {
            RemoveSelectableTiles();
            isMoving = false;
        }
    }
Exemple #3
0
    protected GridTiles FindEndTile(GridTiles t)
    {
        Stack <GridTiles> tempPath = new Stack <GridTiles>();

        GridTiles next = t.parent;

        while (next != null)
        {
            tempPath.Push(next);
            next = next.parent;
        }

        if (tempPath.Count <= attackArea)
        {
            if (t.parent.gameObject.tag == "Ramp")
            {
                GridTiles temp = t.parent;
                return(temp.parent);
            }
            return(t.parent);
        }

        GridTiles endTile = null;

        for (int i = 0; i <= attackArea; i++)
        {
            endTile = tempPath.Pop();
        }
        if (endTile.gameObject.tag == "Ramp")
        {
            Debug.Log("hdfksjflk me");
            return(endTile.parent);
        }
        return(endTile);
    }
Exemple #4
0
 public void ComputeAdjacencyLists(float jumpHeight, GridTiles target)
 {
     AssignArray(tiles);
     foreach (GameObject tile in tiles)
     {
         tile.GetComponent <GridTiles>().FindNeighbors(jumpHeight, target);
     }
 }
Exemple #5
0
    private List <GridTile> FindNeighbours(Vector2Int baseArrayPosition, GridTiles gridTiles)
    {
        List <GridTile> neighbourTiles = new List <GridTile>();

        neighbourTiles.Add(gridTiles.tiles[baseArrayPosition.x--, baseArrayPosition.y]);
        neighbourTiles.Add(gridTiles.tiles[baseArrayPosition.x, baseArrayPosition.y++]);
        neighbourTiles.Add(gridTiles.tiles[baseArrayPosition.x++, baseArrayPosition.y]);
        neighbourTiles.Add(gridTiles.tiles[baseArrayPosition.x, baseArrayPosition.y--]);
        return(neighbourTiles);
    }
    void CalculatePath()
    {
        GridTiles targetTile = GetTargetTile(target);

        if (targetTile == null)
        {
            Debug.Log("How");
        }
        FindPath(targetTile);
    }
Exemple #7
0
    public Vector2Int GetRandomTile(GridTiles tiles, Vector2Int position)
    {
        Vector2Int result = Vector2Int.zero;

        do
        {
            int index = Random.Range(0, tiles.walkableTiles.Count);
            result = tiles.walkableTiles[index];
        }while (result == position);
        return(result);
    }
Exemple #8
0
    public void MoveToTile(GridTiles tile)
    {
        path.Clear();
        tile.target = true;
        isMoving    = true;


        GridTiles next = tile;

        while (next != null)
        {
            path.Push(next);
            next = next.parent;
        }
    }
Exemple #9
0
    protected GridTiles FindLowestF(List <GridTiles> list)
    {
        GridTiles lowest = list[0];

        foreach (GridTiles t in list)
        {
            if (t.f < lowest.f)
            {
                lowest = t;
            }
        }

        list.Remove(lowest);

        return(lowest);
    }
    public void FindSelectableTiles()
    {
        ComputeAdjacencyLists(jumpHeight, null);
        GetCurrentTile();

        Queue <GridTiles> process = new Queue <GridTiles>();

        process.Enqueue(currentTile);
        currentTile.visited = true;


        //currentTile.parent = ??  leave as null

        while (process.Count > 0)
        {
            GridTiles t = process.Dequeue();
            selectableTiles.Add(t);
            t.selectable = true;

            if (t.distance < move)
            {
                foreach (GridTiles tile in t.adjacencyList)
                {
                    if (!tile.visited)
                    {
                        tile.parent   = t;
                        tile.visited  = true;
                        tile.distance = 1 + t.distance;
                        process.Enqueue(tile);
                    }
                }

                /*foreach (GridTiles tile in t.attackList)
                 * {
                 *   if (!tile.visited)
                 *   {
                 *       attackTile.Add(tile);
                 *       tile.parent = t;
                 *       tile.visited = true;
                 *       tile.distance = 1 + t.distance;
                 *       tile.selectable = false;
                 *       tile.attack = true;
                 *   }
                 * }*/
            }
        }
    }
Exemple #11
0
 public IEnumerator GoMove(GridTiles tile)
 {
     isMoving = true;
     MoveToTile(tile);
     Move();
     do
     {
         Move();
         yield return(new WaitForSeconds(0.01f));
     } while (isMoving);
     if (gameObject.transform.localRotation != tile.transform.localRotation)
     {
         gameObject.transform.localRotation = tile.transform.localRotation;
     }
     GameObject.FindObjectOfType <PlayerUnitMenu>().moveDoubleClick = false;
     HideMove();
 }
Exemple #12
0
    public Vector2Int getNearestWallkableTile(GridTiles tiles, Vector2 target)
    {
        float      min    = 1000;
        Vector2Int result = Vector2Int.zero;

        foreach (var tile in tiles.walkableTiles)
        {
            var dist = Vector2.Distance(tile, target);
            if (dist < min)
            {
                //if its the current closest to target
                min    = dist;
                result = tile;
            }
        }
        return(result);
    }
    public GridTiles FindBossSpawns()
    {
        MapLocation map   = GameObject.FindObjectOfType <MapLocation>();
        GridTiles   tiles = new GridTiles();

        foreach (Rows row in map.allRows)
        {
            map.allTiles = row.GetComponentsInChildren <GridTiles>();
            foreach (GridTiles tile in map.allTiles)
            {
                if (tile.bossSpawn && tile.walkable)
                {
                    return(tile);
                }
            }
        }
        return(tiles);
    }
Exemple #14
0
    public GridTiles GetTargetTile(GameObject target)
    {
        RaycastHit hit;
        GridTiles  tile = null;

        if (Physics.Raycast(target.transform.position, -Vector3.up, out hit, 3))
        {
            if (hit.collider.GetComponent <GridTiles>() == null)
            {
                Debug.Log("thudfdjs");
                tile = hit.collider.GetComponentInParent <GridTiles>();
            }
            else
            {
                tile = hit.collider.GetComponent <GridTiles>();
            }
        }

        return(tile);
    }
    public GridTiles FindPlayerLocaton()
    {
        MapLocation map   = FindMap();
        GridTiles   tiles = null;

        foreach (Rows row in map.allRows)
        {
            map.allTiles = row.GetComponentsInChildren <GridTiles>();
            foreach (GridTiles tile in map.allTiles)
            {
                if (tile.unit != null)
                {
                    if (tile.unit.GetComponent <UnitParty>() != null && tile.unit.GetComponent <MCMove>() != null)
                    {
                        return(tile);
                    }
                }
            }
        }
        return(tiles);
    }
Exemple #16
0
    protected void RemoveSelectableTiles()
    {
        if (currentTile != null)
        {
            currentTile.current = false;
            currentTile         = null;
        }

        foreach (GridTiles tile in attackTile)
        {
            tile.Reset();
        }

        foreach (GridTiles tile in selectableTiles)
        {
            tile.Reset();
        }



        selectableTiles.Clear();
        attackTile.Clear();
    }
Exemple #17
0
    public GridTiles InitGrid(Tilemap TileMap)
    {
        GridTiles tiles = new GridTiles();

        tiles.walkableTiles = new List <Vector2Int>();
        RoyT.AStar.Grid grid = new RoyT.AStar.Grid(startX + endX, startY + endY, 1.0f);

        for (int i = -startX; i < endX; i++)
        {
            for (int j = -startY; j < endY; j++)
            {
                if (GameManager.instance.isWall(TileMap, new Vector2Int(i, j)))
                {
                    grid.BlockCell(new Position(i + startX, j + startY));
                }
                else if (!GameManager.instance.isGhostArea(new Vector2Int(i, j)))
                {
                    tiles.walkableTiles.Add(new Vector2Int(i, j));
                }
            }
        }
        tiles.grid = grid;
        return(tiles);
    }
Exemple #18
0
 public int CompareTo(GridTiles other)
 {
     return(this.id.CompareTo(other.id));
 }
Exemple #19
0
    protected void FindPath(GridTiles target)
    {
        ComputeAdjacencyLists(jumpHeight, target);
        GetCurrentTile();

        List <GridTiles> openList   = new List <GridTiles>();
        List <GridTiles> closedList = new List <GridTiles>();

        openList.Add(currentTile);
        //currentTile.parent = ??
        currentTile.h = Vector3.Distance(currentTile.transform.position, target.transform.position);
        currentTile.f = currentTile.h;

        while (openList.Count > 0)
        {
            GridTiles t = FindLowestF(openList);

            closedList.Add(t);

            if (t == target)
            {
                actualTargetTile = FindEndTile(t);
                MoveToTile(actualTargetTile);
                return;
            }

            foreach (GridTiles tile in t.adjacencyList)
            {
                if (closedList.Contains(tile))
                {
                    //Do nothing, already processed
                }
                else if (openList.Contains(tile))
                {
                    float tempG = t.g + Vector3.Distance(tile.transform.position, t.transform.position);

                    if (tempG < tile.g)
                    {
                        tile.parent = t;

                        tile.g = tempG;
                        tile.f = tile.g + tile.h;
                    }
                }
                else
                {
                    tile.parent = t;

                    tile.g = t.g + Vector3.Distance(tile.transform.position, t.transform.position);
                    tile.h = Vector3.Distance(tile.transform.position, target.transform.position);
                    tile.f = tile.g + tile.h;

                    openList.Add(tile);
                }
            }
        }



        // GameObject.FindObjectOfType<MoveSwitch>().gridOn = false;
        Debug.Log("Make A Better Map you nit wit");
    }
Exemple #20
0
 public void GetCurrentTile()
 {
     currentTile         = GetTargetTile(gameObject);
     currentTile.current = true;
 }
    void GetCollumAndRow()
    {
        EventDriver eventDriver = GameObject.FindObjectOfType <EventDriver>();

        Debug.Log(eventDriver.FindMap());
        if (eventDriver.FindMap() != null)
        {
            if (eventDriver.FindMap() == gameObject.GetComponent <MapLocation>())
            {
                GridTiles playerLocation = eventDriver.FindPlayerLocaton();
                GridTiles enemyLocation  = eventDriver.FindPartyLocaton();

                if (enemyLocation == null || playerLocation == null)
                {
                    return;
                }

                newEnemyTag  = enemyLocation.gameObject.name;
                newPlayerTag = playerLocation.gameObject.name;

                enemyGL = "";
                int j = 0;
                for (int i = 2; i < newEnemyTag.Length; i++)
                {
                    enemyGL += newEnemyTag[i].ToString();
                    j++;
                }

                playerGL = "";
                j        = 0;
                for (int i = 2; i < newPlayerTag.Length; i++)
                {
                    playerGL += newPlayerTag[i].ToString();
                    j++;
                }


                for (int i = 0; i < enemyGL.Length; i++)
                {
                    if (enemyGL[i].ToString() == "r")
                    {
                        rowEnemyStart  = i + 1;
                        collumEnemyEnd = i - 1;
                    }
                }


                for (int i = 0; i < playerGL.Length; i++)
                {
                    if (playerGL[i].ToString() == "r")
                    {
                        rowPlayerStart  = i + 1;
                        collumPlayerEnd = i - 1;
                    }
                }

                eCollums = "";
                Debug.Log(collumEnemyEnd);

                if (collumEnemyEnd > 0)
                {
                    j = 0;
                    for (int i = collumEnemyEnd; i >= 0; i--)
                    {
                        eCollums += enemyGL[j].ToString();
                        j++;
                    }
                }
                else
                {
                    eCollums = enemyGL[0].ToString();
                }

                eRows = "";

                for (int i = rowEnemyStart; i < enemyGL.Length; i++)
                {
                    eRows += enemyGL[i].ToString();
                    j++;
                }

                pCollums = "";
                if (collumPlayerEnd > 0)
                {
                    int playerGLength = playerGL.Length;
                    j = 0;
                    for (int i = collumPlayerEnd; i >= 0; i--)
                    {
                        pCollums += playerGL[j].ToString();
                        j++;
                    }
                }
                else
                {
                    pCollums = playerGL[0].ToString();
                }

                pRows = "";
                j     = 0;
                for (int i = rowPlayerStart; i < playerGL.Length; i++)
                {
                    //if (i < 0 && i <= playerGL.Length)
                    pRows += playerGL[i].ToString();
                    j++;
                }


                pcNum = int.Parse(pCollums);
                prNum = int.Parse(pRows);
                ecNum = int.Parse(eCollums);
                erNum = int.Parse(eRows);

                //enemy collum,row then player collum,row
                mapEventDriver.AssignInts(ecNum, erNum, pcNum, prNum);

                GetQuads();
            }
        }
    }
Exemple #22
0
    public void ifClick()
    {
        // string name = GetComponent<Button>().name;
        string     name        = EventSystem.current.currentSelectedGameObject.name;
        GameObject go          = GameObject.Find("GameController");
        GridTiles  gridTiles   = go.GetComponent <GridTiles>();
        List <int> disableList = gridTiles.disableList;

        Debug.Log("Name.........." + name);
        int key = PlayerPrefs.GetInt("Key");

        Debug.Log("Key........" + key);

        if (name.Equals("22") && isKey)
        {
            Application.LoadLevel(0);
            int level;
            if (PlayerPrefs.GetInt("Level").Equals(0))
            {
                level = 1;
            }
            else
            {
                level = PlayerPrefs.GetInt("Level") + 1;
            }


            PlayerPrefs.SetInt("Level", level);
        }

        if (!disableList.Contains(key) && name.Equals(key.ToString()))
        {
            GameObject.Find(22.ToString()).GetComponent <Image>().color = Color.green;
            Debug.Log("Key Success");
            isKey = true;
        }
        else
        {
            if (!disableList.Contains(int.Parse(name)))
            {
                int c1 = int.Parse(name) - 5;
                int c2 = int.Parse(name) - 1;
                int c3 = int.Parse(name) + 1;
                int c4 = int.Parse(name) + 5;


                GameObject.Find(name).GetComponent <Image>().color = Color.gray;

                if (c1.Equals(key) || c2.Equals(key) || c3.Equals(key) || c4.Equals(key))
                {
                    GameObject.Find(key.ToString()).GetComponent <Image>().color = Color.yellow;
                    disableList.Remove(key);
                }

                if (!c1.Equals(22) && c1 <= 24 && c1 >= 0 && disableList.Contains(c1) && !c1.Equals(key))
                {
                    GameObject.Find(c1.ToString()).GetComponent <Image>().color = Color.blue;
                    disableList.Remove(c1);
                }

                if (!c2.Equals(22) && c2 <= 24 && c2 >= 0 && disableList.Contains(c2) && !c2.Equals(key) && !name.Equals("5") && !name.Equals("10") && !name.Equals("15") && !name.Equals("20"))
                {
                    GameObject.Find(c2.ToString()).GetComponent <Image>().color = Color.blue;
                    disableList.Remove(c2);
                }

                if (!c3.Equals(22) && c3 <= 24 && c3 >= 0 && disableList.Contains(c3) && !c3.Equals(key) && !name.Equals("4") && !name.Equals("9") && !name.Equals("14") && !name.Equals("19"))
                {
                    GameObject.Find(c3.ToString()).GetComponent <Image>().color = Color.blue;
                    disableList.Remove(c3);
                }

                if (!c4.Equals(22) && c4 <= 24 && c4 >= 0 && disableList.Contains(c4) && !c4.Equals(key))
                {
                    GameObject.Find(c4.ToString()).GetComponent <Image>().color = Color.blue;
                    disableList.Remove(c4);
                }
            }
        }
    }
    public void OnPointerClick(PointerEventData eventData)
    {
        if (oneTile)
        {
            tile1 = FindAssociatedTile.FindMyTile(holder1.transform.localPosition, gameObject);

            if (tile1.unit != null)
            {
                tile1.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            GameObject.FindObjectOfType <MapManager>().PlayerSkill();
        }
        if (twoTiles)
        {
            tile1 = FindAssociatedTile.FindMyTile(holder1.transform.localPosition, gameObject);
            tile2 = FindAssociatedTile.FindMyTile(holder2.transform.localPosition, gameObject);

            if (tile1.unit != null)
            {
                tile1.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile2.unit != null)
            {
                tile2.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            GameObject.FindObjectOfType <MapManager>().PlayerSkill();
        }
        if (threeTiles)
        {
            tile1 = FindAssociatedTile.FindMyTile(holder1.transform.localPosition, gameObject);
            tile2 = FindAssociatedTile.FindMyTile(holder2.transform.localPosition, gameObject);
            tile3 = FindAssociatedTile.FindMyTile(holder3.transform.localPosition, gameObject);

            if (tile1.unit != null)
            {
                tile1.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile2.unit != null)
            {
                tile2.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile3.unit != null)
            {
                tile3.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            GameObject.FindObjectOfType <MapManager>().PlayerSkill();
        }
        if (fourTiles)
        {
            tile1 = FindAssociatedTile.FindMyTile(holder1.transform.localPosition, gameObject);
            tile2 = FindAssociatedTile.FindMyTile(holder2.transform.localPosition, gameObject);
            tile3 = FindAssociatedTile.FindMyTile(holder3.transform.localPosition, gameObject);
            tile4 = FindAssociatedTile.FindMyTile(holder4.transform.localPosition, gameObject);

            if (tile1.unit != null)
            {
                tile1.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile2.unit != null)
            {
                tile2.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile3.unit != null)
            {
                tile3.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile4.unit != null)
            {
                tile4.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            GameObject.FindObjectOfType <MapManager>().PlayerSkill();
        }
        if (fiveTiles)
        {
            tile1 = FindAssociatedTile.FindMyTile(holder1.transform.localPosition, gameObject);
            tile2 = FindAssociatedTile.FindMyTile(holder2.transform.localPosition, gameObject);
            tile3 = FindAssociatedTile.FindMyTile(holder3.transform.localPosition, gameObject);
            tile4 = FindAssociatedTile.FindMyTile(holder4.transform.localPosition, gameObject);
            tile5 = FindAssociatedTile.FindMyTile(holder5.transform.localPosition, gameObject);

            if (tile1.unit != null)
            {
                tile1.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile2.unit != null)
            {
                tile2.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile3.unit != null)
            {
                tile3.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile4.unit != null)
            {
                tile4.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile5.unit != null)
            {
                tile5.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            GameObject.FindObjectOfType <MapManager>().PlayerSkill();
        }
        else if (sixTiles)
        {
            tile1 = FindAssociatedTile.FindMyTile(holder1.transform.localPosition, gameObject);
            tile2 = FindAssociatedTile.FindMyTile(holder2.transform.localPosition, gameObject);
            tile3 = FindAssociatedTile.FindMyTile(holder3.transform.localPosition, gameObject);
            tile4 = FindAssociatedTile.FindMyTile(holder4.transform.localPosition, gameObject);
            tile5 = FindAssociatedTile.FindMyTile(holder5.transform.localPosition, gameObject);
            tile6 = FindAssociatedTile.FindMyTile(holder6.transform.localPosition, gameObject);

            if (tile1.unit != null)
            {
                tile1.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile2.unit != null)
            {
                tile2.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile3.unit != null)
            {
                tile3.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile4.unit != null)
            {
                tile4.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile5.unit != null)
            {
                tile5.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile6.unit != null)
            {
                tile6.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            GameObject.FindObjectOfType <MapManager>().PlayerSkill();
        }
        if (sevenTiles)
        {
            tile1 = FindAssociatedTile.FindMyTile(holder1.transform.localPosition, gameObject);
            tile2 = FindAssociatedTile.FindMyTile(holder2.transform.localPosition, gameObject);
            tile3 = FindAssociatedTile.FindMyTile(holder3.transform.localPosition, gameObject);
            tile4 = FindAssociatedTile.FindMyTile(holder4.transform.localPosition, gameObject);
            tile5 = FindAssociatedTile.FindMyTile(holder5.transform.localPosition, gameObject);
            tile6 = FindAssociatedTile.FindMyTile(holder6.transform.localPosition, gameObject);
            tile7 = FindAssociatedTile.FindMyTile(holder7.transform.localPosition, gameObject);
            if (tile1.unit != null)
            {
                tile1.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile2.unit != null)
            {
                tile2.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile3.unit != null)
            {
                tile3.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile4.unit != null)
            {
                tile4.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile5.unit != null)
            {
                tile5.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile6.unit != null)
            {
                tile6.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            if (tile7.unit != null)
            {
                tile7.unit.GetComponent <Stats>().Skill(GameObject.FindObjectOfType <MapManager>().currentUser.GetComponent <Stats>());
            }
            GameObject.FindObjectOfType <MapManager>().PlayerSkill();
        }
    }