Exemplo n.º 1
0
    public void Init(MapEditor editor, EditorHexData data, Hex hex)
    {
        this.editor = editor;
        this.data   = data;

        this.hex = hex;

        meshRenderer = GetComponent <MeshRenderer>();
        meshRenderer.sharedMaterial = data.hexMaterial;
    }
Exemplo n.º 2
0
    private void Update()
    {
        if (!Application.isPlaying)
        {
            if (meshRenderer.sharedMaterial != prevRendererMaterial)
            {
                Debug.Assert(editor != null, "You must call the Init function when creating this object in order to make it work as intended!");

                if (editor.DataLookUpTable.TryGetValue(meshRenderer.sharedMaterial, out EditorHexData newData))
                {
                    data = newData;
                    prevRendererMaterial = meshRenderer.sharedMaterial;
                }
                else
                {
                    Debug.LogWarning("The material you put on the tile is invalid! Returning the mesh renderer to his previous material");
                    meshRenderer.sharedMaterial = prevRendererMaterial;
                }
            }
        }
    }
Exemplo n.º 3
0
    private void CreateAndStoreNewEditorHexTile(Hex hex, GameObject template, Layout hexLayout, EditorHexData data)
    {
        FixVector2 pos = hexLayout.HexToWorld(hex);

        GameObject newHex = Instantiate(template);

        newHex.transform.position = new Vector3((float)pos.x, (float)pos.y, (float)pos.y);//the z axis is relative to the y axis

        var currentTile = newHex.GetComponent <EditorHexTile>();

        currentTile.Init(this, data, hex);

        activeEditorHexTiles.Add(hex, currentTile);
    }