// Fetch the data about the hexagon's points from the HexagonTriangulation script
    void Start()
    {
        HexagonTriangulation hexagon_triangulation = GameObject.Find("__GameManager").GetComponent <HexagonTriangulation>();

        unique_points_dict = new Dictionary <int, List <HexagonTriangulation.Point> >(hexagon_triangulation.unique_points_dict);
        heights_dict       = new Dictionary <int, List <float> >();
        foreach (var kvp in unique_points_dict)
        {
            heights_dict.Add(kvp.Key, new List <float>());
            foreach (HexagonTriangulation.Point point in kvp.Value)
            {
                heights_dict[kvp.Key].Add(-1.0f);
            }
        }
        triangles = new List <HexagonTriangulation.Point[]>(hexagon_triangulation.triangles);

        // Prepare the mesh
        gameObject.AddComponent <MeshFilter>();
        gameObject.AddComponent <MeshRenderer>();
        gameObject.AddComponent <MeshCollider>();
        ResetRendererData();
        gameObject.GetComponent <MeshFilter>().mesh.vertices  = renderer_vertices;
        gameObject.GetComponent <MeshFilter>().mesh.triangles = renderer_triangles;
        gameObject.GetComponent <Renderer>().material.shader  = Shader.Find("Custom/StandardVertex");

        // Set the color of the mesh
        SetMapmode(TectonicOrder.view_mode);
    }
Exemplo n.º 2
0
    public static string view_mode = "plates"; // plates, geography, height


    private void Start()
    {
        // Get the script references
        ui_manager            = GameObject.Find("__GameManager").GetComponent <UIManager>();
        hexagon_triangulation = GameObject.Find("__GameManager").GetComponent <HexagonTriangulation>();
        camera_movement       = GameObject.Find("__Camera").GetComponent <CameraMovement>();

        // Initialize the Hextile mesh data
        hexagon_triangulation.TriangulateHexagon(1);
        HextileMesh.unique_points_dict = hexagon_triangulation.unique_points_dict;
        HextileMesh.triangles          = hexagon_triangulation.triangles;
    }