Пример #1
0
    private void CreateLine(Vector2 startPoint, Vector2 direction)
    {
        hwmBox2D mapBox  = m_Owner.GetMapBox();
        Vector2  mapSize = m_Owner.GetMapBox().GetSize();

        Vector2 currentPoint = startPoint;

        while (mapBox.IsInsideOrOn(currentPoint))
        {
            GameObject go = Instantiate(Line.gameObject);
            go.transform.parent     = m_LineRoot.transform;
            go.transform.localScale = direction.x == 0
                                ? new Vector3(mapSize.x / LineSpriteSize.x * 100.0f, 1, 1)
                                : new Vector3(1, mapSize.y / LineSpriteSize.y * 100.0f, 1);
            go.transform.localPosition = currentPoint;
            currentPoint += direction * CellSize;
        }
    }
Пример #2
0
    public void Initialize(slMap map)
    {
        m_Owner = map;

        hwmBox2D mapBox  = m_Owner.GetMapBox();
        Vector3  mapSize = mapBox.GetSize();

        Background.transform.localScale = new Vector3(mapSize.x + 1000.0f, mapSize.y + 1000.0f, 1);
        Mapground.transform.localScale  = new Vector3(mapSize.x, mapSize.y, 1);

        m_LineRoot = new GameObject("LineRoot");
        m_LineRoot.transform.SetParent(transform, false);
        CreateLine(Vector2.zero, Vector2.up);
        CreateLine(Vector2.zero, Vector2.down);
        CreateLine(Vector2.zero, Vector2.left);
        CreateLine(Vector2.zero, Vector2.right);
        Line.gameObject.SetActive(false);
    }