Exemplo n.º 1
0
    public Intersection IntersectionOfTileAtCorner(GameTile tile, int cornerNumber)
    {
        Vector3 cornerPosition = GameTile.Corner(tile.transform.position, hexRadius, cornerNumber, hexOrientation);

        if (intersectionsDictionary.ContainsKey(cornerPosition.ToString()))
        {
            return(intersectionsDictionary [cornerPosition.ToString()]);
        }
        return(null);
    }
Exemplo n.º 2
0
    public void GenerateIntersections(Transform parent)
    {
        //GameObject parentObject = GameObject.FindGameObjectWithTag ("Intersections");
        Vector3      cornerPosition;
        Intersection currentIntersection;
        GameTile     gameTile;

        foreach (var tile in tilesDictionary)
        {
            gameTile = tile.Value;

            for (int vert = 0; vert < 6; vert++)
            {
                cornerPosition = GameTile.Corner(gameTile.transform.position, hexRadius, vert, hexOrientation);

                if (intersectionsDictionary.ContainsKey(cornerPosition.ToString()))
                {
                    currentIntersection = intersectionsDictionary [cornerPosition.ToString()];
                }
                else
                {
                    GameObject instantiation;
                    if (online)
                    {
                        instantiation = (GameObject)PhotonNetwork.Instantiate("Intersection", cornerPosition, Quaternion.identity, 0);
                    }
                    else
                    {
                        instantiation = (GameObject)Instantiate(intersectionPrefab, cornerPosition, Quaternion.identity, this.transform);
                    }

                    instantiation.name  = "Intersection " + intersectionID;
                    currentIntersection = instantiation.GetComponent <Intersection> ();
                    currentIntersection.transform.parent = parent.transform;
                    currentIntersection.setID(intersectionID++);

                    intersectionsDictionary.Add(cornerPosition.ToString(), currentIntersection);
                    intersectionsByIdDictionary.Add(currentIntersection.getID(), currentIntersection);
                    intersectionsList.Add(currentIntersection);
                }

                currentIntersection.addTile(gameTile);
                gameTile.addIntersection(currentIntersection);
            }
        }

        //storeIntersectionInformation();
    }
Exemplo n.º 3
0
    public List <Intersection> IntersectionsOfTile(GameTile tile)
    {
        List <Intersection> intersections = new List <Intersection> ();
        Vector3             cornerPosition;

        for (int vert = 0; vert < 6; vert++)
        {
            cornerPosition = GameTile.Corner(tile.transform.position, hexRadius, vert, hexOrientation);
            if (intersectionsDictionary.ContainsKey(cornerPosition.ToString()))
            {
                intersections.Add(intersectionsDictionary [cornerPosition.ToString()]);
            }
        }

        return(intersections);
    }