@ -13,8 +13,7 @@ namespace gui {
using std : : any , std : : any_cast , std : : string , std : : make_any ;
using std : : any , std : : any_cast , std : : string , std : : make_any ;
UI : : UI ( GameLevel level ) :
UI : : UI ( GameLevel level ) :
$ level ( level ) ,
$ level ( level )
$ blanket ( $ level . world - > get_the < : : ritual : : Blanket > ( ) )
{
{
$ gui . position ( STATUS_UI_X , STATUS_UI_Y , STATUS_UI_WIDTH , STATUS_UI_HEIGHT ) ;
$ gui . position ( STATUS_UI_X , STATUS_UI_Y , STATUS_UI_WIDTH , STATUS_UI_HEIGHT ) ;
$ gui . layout (
$ gui . layout (
@ -139,23 +138,23 @@ namespace gui {
}
}
}
}
$ blanket . reset ( ) ;
blanket ( ) . reset ( ) ;
}
}
void UI : : select_item ( SelectedItem pair ) {
void UI : : select_item ( SelectedItem pair ) {
auto & sprite = $ gui . get < Sprite > ( pair . slot_id ) ;
auto & sprite = $ gui . get < Sprite > ( pair . slot_id ) ;
if ( $ blanket . is_selected ( pair . item_id ) ) {
if ( blanket ( ) . is_selected ( pair . item_id ) ) {
$ blanket . deselect ( pair . item_id ) ;
blanket ( ) . deselect ( pair . item_id ) ;
sprite . sprite - > setColor ( { 255 , 255 , 255 , 255 } ) ;
sprite . sprite - > setColor ( { 255 , 255 , 255 , 255 } ) ;
} else {
} else {
$ blanket . select ( pair . item_id ) ;
blanket ( ) . select ( pair . item_id ) ;
sprite . sprite - > setColor ( { 255 , 200 , 200 , 200 } ) ;
sprite . sprite - > setColor ( { 255 , 200 , 200 , 200 } ) ;
}
}
}
}
void UI : : update_selection_state ( ) {
void UI : : update_selection_state ( ) {
if ( $ blanket . no_selections ( ) ) {
if ( blanket ( ) . no_selections ( ) ) {
clear_craft_result ( ) ;
clear_craft_result ( ) ;
state ( State : : OPENED ) ;
state ( State : : OPENED ) ;
} else {
} else {
@ -167,7 +166,7 @@ namespace gui {
void UI : : load_blanket ( ) {
void UI : : load_blanket ( ) {
// update the list of available items
// update the list of available items
int i = 0 ;
int i = 0 ;
for ( auto & [ item_id , item ] : $ blanket . contents ) {
for ( auto & [ item_id , item ] : blanket ( ) . contents ) {
auto slot_id = $ gui . entity ( " inv_slot " , i + + ) ;
auto slot_id = $ gui . entity ( " inv_slot " , i + + ) ;
$ gui . set_init < Sprite > ( slot_id , { item } ) ;
$ gui . set_init < Sprite > ( slot_id , { item } ) ;
@ -192,7 +191,7 @@ namespace gui {
auto & belt = $ level . world - > get_the < : : ritual : : Belt > ( ) ;
auto & belt = $ level . world - > get_the < : : ritual : : Belt > ( ) ;
belt . equip ( belt . next ( ) , ritual ) ;
belt . equip ( belt . next ( ) , ritual ) ;
$ level . world - > send < Events : : GUI > ( Events : : GUI : : NEW_RITUAL , $ level . player , { } ) ;
$ level . world - > send < Events : : GUI > ( Events : : GUI : : NEW_RITUAL , $ level . player , { } ) ;
$ blanket . consume_crafting ( ) ;
blanket ( ) . consume_crafting ( ) ;
clear_craft_result ( ) ;
clear_craft_result ( ) ;
load_blanket ( ) ;
load_blanket ( ) ;
@ -203,8 +202,8 @@ namespace gui {
void UI : : run_crafting_engine ( ) {
void UI : : run_crafting_engine ( ) {
$ craft_state . reset ( ) ;
$ craft_state . reset ( ) ;
for ( auto [ item_id , setting ] : $ blanket . selected ) {
for ( auto [ item_id , setting ] : blanket ( ) . selected ) {
auto & item = $ blanket . get ( item_id ) ;
auto & item = blanket ( ) . get ( item_id ) ;
$ ritual_engine . load_junk ( $ craft_state , item ) ;
$ ritual_engine . load_junk ( $ craft_state , item ) ;
}
}
@ -246,7 +245,7 @@ namespace gui {
}
}
void UI : : clear_craft_result ( ) {
void UI : : clear_craft_result ( ) {
$ blanket . reset ( ) ;
blanket ( ) . reset ( ) ;
$ gui . close < Text > ( " result_text " ) ;
$ gui . close < Text > ( " result_text " ) ;
$ gui . close < Sprite > ( " result_image " ) ;
$ gui . close < Sprite > ( " result_image " ) ;
}
}