Пример #1
0
    void Dig(MeshCreator world)
    {
        Vector2 newPosition        = new Vector2(Mathf.RoundToInt(m_t.position.x - m_gap), Mathf.RoundToInt(m_t.position.y - m_gap));
        bool    isDiggingThisFrame = world.RemoveBlock(new Vector2[4] {
            new Vector2((m_t.position.x - m_box.bounds.extents.x) + m_gap, (m_t.position.y - m_box.bounds.extents.y) + m_gap),
            new Vector2((m_t.position.x - m_box.bounds.extents.x) + m_gap, (m_t.position.y + m_box.bounds.extents.y) + m_gap),
            new Vector2((m_t.position.x + m_box.bounds.extents.x) + m_gap, (m_t.position.y - m_box.bounds.extents.y) + m_gap),
            new Vector2((m_t.position.x + m_box.bounds.extents.x) + m_gap, (m_t.position.y + m_box.bounds.extents.y) + m_gap)
        }
                                                       );

        if (isDiggingThisFrame)
        {
            digged = true;
        }
        if (newPosition != lastPosition)
        {
            isDigging = digged;
            digged    = false;
        }
        lastPosition = newPosition;
    }