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; } }
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); }