PowerUpControl.gd 3.5 KB

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