PowerUpControl.gd 3.7 KB

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