PowerUpControl.gd 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. extends CanvasLayer
  2. func openmenu():
  3. # get_tree().paused = true
  4. Engine.time_scale = 0.01
  5. $Control2.show()
  6. $Control/VSeparator/Label.text = 'Choose a power:'
  7. $Control/VSeparator/ItemList.clear()
  8. var array = []
  9. var text = Powerups.menbros.keys() + Powerups.corpo.keys() + Powerups.apendice.keys()
  10. var superdict = {}
  11. for z in Powerups.menbros.keys(): superdict[z] = Powerups.menbros[z]
  12. for z in Powerups.corpo.keys(): superdict[z] = Powerups.corpo[z]
  13. for x in 5:
  14. while text.has('null'): text.erase('null')
  15. text.shuffle()
  16. array.append(text[0])
  17. text.remove(0)
  18. for x in array:
  19. $Control/VSeparator/ItemList.add_item(x)
  20. for x in 5:
  21. $Control2/VSeparator/buttons.get_child(x).id = x
  22. $Control2/VSeparator/buttons.get_child(x).set_texture( superdict[array[x]]['icone'] )
  23. $Control2/VSeparator/buttons.get_child(x).text = array[x]
  24. var buff = 0
  25. if Powerups.menbros.has(array[x]): buff = 4
  26. if Powerups.corpo.has(array[x]): buff = 8
  27. $Control2/VSeparator/buttons.get_child(x).collayer = buff
  28. $Control2/VSeparator/buttons.get_child(x).col()
  29. $Control2/VSeparator/buttons.get_child(x).posswitch = true
  30. # Powerups.dict
  31. for x in get_tree().get_nodes_in_group('cleaning'):
  32. x.queue_free()
  33. for x in $Control2/VSeparator/menbros.get_child_count():
  34. var opt = Powerups.dict['menbros'+str($Control2/VSeparator/menbros.get_child(x).id)]
  35. if opt != Powerups.menbros.null:
  36. addoccuptslot(opt,x,$Control2/VSeparator/menbros.get_child(x))
  37. for x in $Control2/VSeparator/corpo.get_child_count():
  38. var opt = Powerups.dict['corpo'+str($Control2/VSeparator/corpo.get_child(x).id)]
  39. if opt != Powerups.corpo.null:
  40. addoccuptslot(opt,x,$Control2/VSeparator/corpo.get_child(x))
  41. func addoccuptslot(opt,x,arg):
  42. var sprite = Sprite.new()
  43. sprite.texture = opt.icone
  44. sprite.position += Vector2(32,32)
  45. var label = Label.new()
  46. label.rect_position.y = 16
  47. label.rect_position.x = 16
  48. label.text = str(opt.level)
  49. sprite.add_child(label)
  50. arg.add_child(sprite)
  51. sprite.add_to_group('cleaning')
  52. func _on_bacteria_level_up():
  53. openmenu()
  54. pass # Replace with function body.
  55. var power = ''
  56. var dict = ''
  57. func _on_ItemList_item_activated(index):
  58. if $Control/VSeparator/Label.text == 'Choose a power:':
  59. print(index)
  60. power = $Control/VSeparator/ItemList.get_item_text(index)
  61. if Powerups.menbros.has(power): dict = 'menbros'
  62. if Powerups.corpo.has(power): dict = 'corpo'
  63. if Powerups.apendice.has(power): dict = 'apendice'
  64. $Control/VSeparator/ItemList.clear()
  65. for x in Powerups.dictslots[dict]:
  66. $Control/VSeparator/ItemList.add_item(Powerups.dict[dict + str(x)].name)
  67. $Control/VSeparator/Label.text = 'put on slot:'
  68. elif $Control/VSeparator/Label.text == 'put on slot:':
  69. print(index)
  70. var dict2 = dict + str(index)
  71. # if not Powerups.has(dict2): return
  72. # if not Powerups.has(dict): return
  73. if Powerups.dict[dict2] == Powerups[dict][power]:
  74. print('upgrading power')
  75. Powerups[dict][power]['level'] += 1
  76. for x in Powerups[dict][power]['upgrade'].keys():
  77. Powerups[dict][power][x] += Powerups[dict][power]['upgrade'][x]
  78. Powerups.dict[dict2] = Powerups[dict][power]
  79. get_parent().get_node("bacteria")._load()
  80. print(dict2)
  81. print(power)
  82. # get_tree().paused = false
  83. emit_signal('close_menu')
  84. Engine.time_scale = 1
  85. $Control2.hide()
  86. pass # Replace with function body.
  87. signal close_menu
  88. var buff1 = 0
  89. var buff2 = 0
  90. var lock = []
  91. #func _physics_process(delta):
  92. # print(lock)
  93. func _on_Button_button_down():
  94. _on_ItemList_item_activated(buff1)
  95. _on_ItemList_item_activated(buff2)
  96. pass # Replace with function body.