add reveal tipp button for doc reveal's
This commit is contained in:
parent
991f5cf86c
commit
533c86977d
@ -394,6 +394,25 @@ local function crafting_callback(state)
|
|||||||
inf_state:listbox(12, 2, 5.7, 1.3, "item_groups",nil, true)
|
inf_state:listbox(12, 2, 5.7, 1.3, "item_groups",nil, true)
|
||||||
inf_area:setVisible(false)
|
inf_area:setVisible(false)
|
||||||
|
|
||||||
|
-- Reveal tipps button
|
||||||
|
if smart_inventory.doc_items_mod then
|
||||||
|
local reveal_button = state:button(7, 4.2, 2, 0.5, "reveal_tipp", "Reveal tipps")
|
||||||
|
reveal_button:onClick(function(self, state, player)
|
||||||
|
local all_revealed = ui_tools.filter_by_revealed(ui_tools.root_list_all, player)
|
||||||
|
local top_revealed = ui_tools.filter_by_top_reveal(all_revealed, player)
|
||||||
|
state.param.crafting_recipes_preview_selected = 1
|
||||||
|
state.param.crafting_recipes_preview_listentry = top_revealed[1]
|
||||||
|
update_crafting_preview(state)
|
||||||
|
state.param.crafting_grouped_items = ui_tools.get_list_grouped(top_revealed)
|
||||||
|
-- reset group selection if proposal mode is changed
|
||||||
|
if state.param.survival_proposal_mode ~= "tipp" then
|
||||||
|
state.param.survival_proposal_mode = "tipp"
|
||||||
|
state:get("groups_sel"):setSelected(1)
|
||||||
|
end
|
||||||
|
update_group_selection(state, true)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
-- Lookup
|
-- Lookup
|
||||||
create_lookup_inv(state, player)
|
create_lookup_inv(state, player)
|
||||||
state:image(10, 4, 1, 1,"lookup_icon", "default_bookshelf_slot.png")
|
state:image(10, 4, 1, 1,"lookup_icon", "default_bookshelf_slot.png")
|
||||||
|
42
ui_tools.lua
42
ui_tools.lua
@ -149,6 +149,48 @@ function ui_tools.filter_by_revealed(list, playername)
|
|||||||
return filtered_list
|
return filtered_list
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-----------------------------------------------------
|
||||||
|
-- Get all revealed items available
|
||||||
|
-----------------------------------------------------
|
||||||
|
function ui_tools.filter_by_top_reveal(list, playername)
|
||||||
|
-- rate the items
|
||||||
|
local rating = {}
|
||||||
|
local top_rating = 0
|
||||||
|
|
||||||
|
for _, entry in ipairs(list) do
|
||||||
|
-- only not revealed could be in tipp
|
||||||
|
if not doc_addon.is_revealed_item(entry.item, playername) then
|
||||||
|
-- check item is in recipes
|
||||||
|
if cache.citems[entry.item] and cache.citems[entry.item].in_craft_recipe then
|
||||||
|
for _, recipe in ipairs(cache.citems[entry.item].in_craft_recipe) do
|
||||||
|
if crecipes.crecipes[recipe] then
|
||||||
|
-- result is not revealed
|
||||||
|
if not doc_addon.is_revealed_item(crecipes.crecipes[recipe].out_item.name, playername) then
|
||||||
|
-- count them
|
||||||
|
if not rating[entry.item] then
|
||||||
|
rating[entry.item] = 1
|
||||||
|
else
|
||||||
|
rating[entry.item] = rating[entry.item] + 1
|
||||||
|
end
|
||||||
|
if rating[entry.item] > top_rating then
|
||||||
|
top_rating = rating[entry.item]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-- return top rated
|
||||||
|
local filtered_list = {}
|
||||||
|
for _, entry in ipairs(list) do
|
||||||
|
if rating[entry.item] == top_rating then
|
||||||
|
table.insert(filtered_list, entry)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return filtered_list
|
||||||
|
end
|
||||||
|
|
||||||
-----------------------------------------------------
|
-----------------------------------------------------
|
||||||
-- Select tight groups only to display info about item
|
-- Select tight groups only to display info about item
|
||||||
-----------------------------------------------------
|
-----------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user