--- Creates callbacks and sets up initial state.

function ScopeHierarchyItemButton:init()
    self.Maid = Maid.new()
    self.LayoutRef = Roact.createRef()
    self.ContainerSize, self.UpdateContainerSize = Roact.createBinding(UDim2.new(0, 0, 1, 0))

    --- Processes clicks, triggers scope change
    function self.OnClicked()
        self.props.SetScopeFromButton(self.props.Instance)
    end

    -- Set initial state
    self:UpdateInstanceState()
end

local ClassIconPositions = {
    Part = Vector2.new(2, 1);
    MeshPart = Vector2.new(4, 8);
    UnionOperation = Vector2.new(4, 8);
    NegateOperation = Vector2.new(3, 8);
    VehicleSeat = Vector2.new(6, 4);
    Seat = Vector2.new(6, 4);
    TrussPart = Vector2.new(2, 1);
    CornerWedgePart = Vector2.new(2, 1);
    WedgePart = Vector2.new(2, 1);
    SpawnLocation = Vector2.new(6, 3);
    Model = Vector2.new(3, 1);
    Folder = Vector2.new(8, 8);
    Tool = Vector2.new(8, 2);
    Workspace = Vector2.new(10, 2);
    Accessory = Vector2.new(3, 4);
    Accoutrement = Vector2.new(3, 4);
}
