|
|
|
@ -54,12 +54,6 @@ namespace gui { |
|
|
|
|
[&](auto, auto){ event(Event::TOGGLE); } |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
auto combine = $gui.entity("combine"); |
|
|
|
|
$gui.set<Rectangle>(combine, {}); |
|
|
|
|
$gui.set<Label>(combine, {L"combine"}); |
|
|
|
|
$gui.set<Clickable>(combine, { |
|
|
|
|
[&](auto, auto){ event(Event::COMBINE); } |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
$craft_state = $ritual_engine.start(); |
|
|
|
|
$gui.init(); |
|
|
|
@ -166,12 +160,7 @@ namespace gui { |
|
|
|
|
state(State::OPENED); |
|
|
|
|
} else { |
|
|
|
|
run_crafting_engine(); |
|
|
|
|
|
|
|
|
|
if(!$craft_state.is_combined()) { |
|
|
|
|
show_craft_failure(); |
|
|
|
|
} else { |
|
|
|
|
show_craft_result(); |
|
|
|
|
} |
|
|
|
|
show_craft_result(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -226,19 +215,31 @@ namespace gui { |
|
|
|
|
void UI::show_craft_result() { |
|
|
|
|
using enum ::ritual::Element; |
|
|
|
|
auto ritual = $ritual_engine.finalize($craft_state); |
|
|
|
|
auto combine = $gui.entity("result_image"); |
|
|
|
|
|
|
|
|
|
switch(ritual.element) { |
|
|
|
|
case FIRE: |
|
|
|
|
$gui.show_sprite("result_image", "broken_yoyo-64"); |
|
|
|
|
break; |
|
|
|
|
case LIGHTNING: |
|
|
|
|
$gui.show_sprite("result_image", "pocket_watch-64"); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
$gui.show_sprite("result_image", "severed_finger-64"); |
|
|
|
|
} |
|
|
|
|
if($craft_state.is_combined()) { |
|
|
|
|
$gui.show_label("result_text", L"This might work..."); |
|
|
|
|
|
|
|
|
|
switch(ritual.element) { |
|
|
|
|
case FIRE: |
|
|
|
|
$gui.show_sprite("result_image", "broken_yoyo-64"); |
|
|
|
|
break; |
|
|
|
|
case LIGHTNING: |
|
|
|
|
$gui.show_sprite("result_image", "pocket_watch-64"); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
$gui.show_sprite("result_image", "severed_finger-64"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$gui.show_label("result_text", L"CRAFTING"); |
|
|
|
|
$gui.set<Clickable>(combine, { |
|
|
|
|
[&](auto, auto){ event(Event::COMBINE); } |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
$gui.show_label("result_text", L"That won't work."); |
|
|
|
|
$gui.show_sprite("result_image", "dubious_combination-128"); |
|
|
|
|
$gui.remove<Clickable>(combine); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void UI::clear_craft_result() { |
|
|
|
@ -246,10 +247,5 @@ namespace gui { |
|
|
|
|
$gui.close<Label>("result_text"); |
|
|
|
|
$gui.close<Sprite>("result_image"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void UI::show_craft_failure() { |
|
|
|
|
$gui.close<Sprite>("result_image"); |
|
|
|
|
$gui.show_label("result_text", L"FAILED!"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|