Пример #1
0
    // Change specific tile type
    public void SetTileArrayType(Vector3 worldPosition, TileArrayObject.TileArrayType tileArrayType)
    {
        TileArrayObject tileArrayObject = grid.GetGridObject(worldPosition);

        if (tileArrayObject != null)
        {
            tileArrayObject.SetTileArrayType(tileArrayType);
        }
        grid.TriggerGridObjectChanged(worldPosition);
    }
Пример #2
0
    // Change flag status
    public void SetFlagStatus(Vector3 worldPosition)
    {
        TileArrayObject tileArrayObject = grid.GetGridObject(worldPosition);

        if (tileArrayObject != null)
        {
            tileArrayObject.SetFlag(!tileArrayObject.IsFlagged());
        }
        grid.TriggerGridObjectChanged(worldPosition);
    }
Пример #3
0
    // Get specific tile type
    public TileArrayObject.TileArrayType GetTileArrayType(Vector3 worldPosition)
    {
        TileArrayObject tileArrayObject = grid.GetGridObject(worldPosition);

        if (tileArrayObject != null)
        {
            return(tileArrayObject.GetTileArrayType());
        }
        else
        {
            return(new TileArrayObject.TileArrayType());
        }
    }
Пример #4
0
    // Update display
    public void UpdateVisual(GridArray <TileArrayObject> grid)
    {
        HideNodeVisuals();

        for (int row = 0; row < grid.GetHeight(); row++)
        {
            for (int col = 0; col < grid.GetWidth(); col++)
            {
                TileArrayObject gridObject = grid.GetGridObject(row, col);

                Transform visualNode = visualNodeArray[row, col];
                visualNode.gameObject.SetActive(true);
                SetupVisualNode(visualNode, gridObject);
            }
        }
    }
Пример #5
0
    // Setup visual node according to different situation
    private void SetupVisualNode(Transform visualNodeTransform, TileArrayObject tileArrayObject)
    {
        SpriteRenderer iconSpriteRenderer = visualNodeTransform.Find("Icon").GetComponent <SpriteRenderer>();
        TextMeshPro    numberText         = visualNodeTransform.Find("Number").GetComponent <TextMeshPro>();
        Transform      emptyTransform     = visualNodeTransform.Find("Empty");

        /* TODO */
        // Node is hidden
        emptyTransform.gameObject.SetActive(true);
        numberText.gameObject.SetActive(false);

        if (tileArrayObject.IsFlagged())
        {
            iconSpriteRenderer.gameObject.SetActive(true);
            iconSpriteRenderer.sprite = flagSprite;
        }
        else
        {
            iconSpriteRenderer.gameObject.SetActive(false);
        }
    }