diff --git a/src/Menus/DragNDrop/DragNDropUI.gd b/src/Menus/DragNDrop/DragNDropUI.gd index 0c0d12a..e67f3c3 100644 --- a/src/Menus/DragNDrop/DragNDropUI.gd +++ b/src/Menus/DragNDrop/DragNDropUI.gd @@ -7,7 +7,6 @@ enum cards { BANANA, BARRIERE, BARREL, - SLIME, TORCH, BEAR, FLAME, @@ -42,8 +41,8 @@ func update_cards(): newchild=(load("res://Objects/Traps/Flame/FlameCard.tscn").instance()) cards.SPIKE: newchild=(load("res://Objects/Traps/Spike/SpikeCard.tscn").instance()) - cards.SLIME: - newchild=(load("res://Objects/Slime/SlimeCard.tscn").instance()) + #cards.SLIME: + #newchild=(load("res://Objects/Slime/SlimeCard.tscn").instance()) if(newchild!=null): HBox.add_child(newchild) diff --git a/src/Menus/DragNDrop/DragSource.gd b/src/Menus/DragNDrop/DragSource.gd index 23e6a4e..d3d7898 100644 --- a/src/Menus/DragNDrop/DragSource.gd +++ b/src/Menus/DragNDrop/DragSource.gd @@ -1,5 +1,6 @@ extends TextureRect # CardDeck +var canNotPlace = false export var Item:PackedScene export var PreviewIcon:Texture export var DeleteOnGrab:bool = false @@ -8,6 +9,8 @@ var card_level = 0 #if a drag is initiated here func get_drag_data(_pos): + if (canNotPlace): + return null var ctrl = Control.new() var TR = TextureRect.new() TR.texture = get_resized_texture(PreviewIcon, self.rect_size[0], self.rect_size[1]) diff --git a/src/Menus/SelectUpgradeUI/SelectUpgradeUI.gd b/src/Menus/SelectUpgradeUI/SelectUpgradeUI.gd index 45e5e89..f5c3e8d 100644 --- a/src/Menus/SelectUpgradeUI/SelectUpgradeUI.gd +++ b/src/Menus/SelectUpgradeUI/SelectUpgradeUI.gd @@ -2,7 +2,11 @@ extends Control const DrNDrPre = preload("res://Menus/DragNDrop/DragNDropUI.gd") var DrNDr - +var cardPositions = [Vector2(100,150),Vector2(200,150),Vector2(300,150)] +var randcards = [0,0,0] +var showCards = true +var shownCards = [] +var allowChoosCards = false func _ready(): DrNDr = get_tree().current_scene.get_node("CanvasLayer").get_node("DragNDropUI") @@ -10,56 +14,85 @@ func _ready(): func starting(): - var randcards = [0,0,0] - - randcards[0] = randi() % DrNDrPre.cards.EMPTY - while(DrNDr.usedCards[0]!=randcards[0] &&\ - DrNDr.usedCards[1]!=randcards[0] &&\ - DrNDr.usedCards[2]!=randcards[0] &&\ - DrNDr.usedCards[3]!=randcards[0] &&\ - DrNDr.usedCards[4]!=randcards[0]): + if (showCards): randcards[0] = randi() % DrNDrPre.cards.EMPTY - while(randcards[0] == randcards[1] &&\ - DrNDr.usedCards[0]!=randcards[1] &&\ - DrNDr.usedCards[1]!=randcards[1] &&\ - DrNDr.usedCards[2]!=randcards[1] &&\ - DrNDr.usedCards[3]!=randcards[1] &&\ - DrNDr.usedCards[4]!=randcards[1]): + while(DrNDr.usedCards[0]==randcards[0] or + DrNDr.usedCards[1]==randcards[0] or + DrNDr.usedCards[2]==randcards[0] or + DrNDr.usedCards[3]==randcards[0] or + DrNDr.usedCards[4]==randcards[0]): + randcards[0] = randi() % DrNDrPre.cards.EMPTY randcards[1] = randi() % DrNDrPre.cards.EMPTY + while(randcards[0] == randcards[1] or + DrNDr.usedCards[0]==randcards[1] or + DrNDr.usedCards[1]==randcards[1] or + DrNDr.usedCards[2]==randcards[1] or + DrNDr.usedCards[3]==randcards[1] or + DrNDr.usedCards[4]==randcards[1]): + randcards[1] = randi() % DrNDrPre.cards.EMPTY randcards[2] = randi() % DrNDrPre.cards.EMPTY - while(randcards[0] == randcards[2] && randcards[1] == randcards[2] &&\ - DrNDr.usedCards[0]!=randcards[2] &&\ - DrNDr.usedCards[1]!=randcards[2] &&\ - DrNDr.usedCards[2]!=randcards[2] &&\ - DrNDr.usedCards[3]!=randcards[2] &&\ - DrNDr.usedCards[4]!=randcards[2]): - randcards[2] = randi() % DrNDrPre.cards.EMPTY - var shownCards = [] - for i in range(3): - match randcards[i]: - DrNDrPre.cards.BANANA: - shownCards.append(load("res://Objects/Banana/BananaCard.tscn").instance()) - DrNDrPre.cards.BARRIERE: - shownCards.append(load("res://Objects/Barriere/BarrierCard.tscn").instance()) - DrNDrPre.cards.BARREL: - shownCards.append(load("res://Objects/Barrel/BarrelCard.tscn").instance()) - DrNDrPre.cards.TORCH: - shownCards.append(load("res://Objects/Torch/TorchCard.tscn").instance()) - DrNDrPre.cards.BEAR: - shownCards.append(load("res://Objects/Traps/Bear/BearCard.tscn").instance()) - DrNDrPre.cards.FLAME: - shownCards.append(load("res://Objects/Traps/Flame/FlameCard.tscn").instance()) - #DrNDrPre.cards.SPIKE: - #shownCards.append(load("res://Objects/Traps/Spike/SpikeCard.tscn").instance()) - DrNDrPre.cards.SLIME: - shownCards.append(load("res://Objects/Slime/SlimeCard.tscn").instance()) - for i in range(3): - $Cards.add_child(shownCards[i]) - shownCards[0].set_begin ( Vector2(100,150)) - shownCards[1].set_begin ( Vector2(200,150)) - shownCards[2].set_begin ( Vector2(300,150)) + while(randcards[0] == randcards[2] or randcards[1] == randcards[2] or + DrNDr.usedCards[0]==randcards[2] or + DrNDr.usedCards[1]==randcards[2] or + DrNDr.usedCards[2]==randcards[2] or + DrNDr.usedCards[3]==randcards[2] or + DrNDr.usedCards[4]==randcards[2]): + randcards[2] = randi() % DrNDrPre.cards.EMPTY + print(randcards) + for i in range(3): + match randcards[i]: + DrNDrPre.cards.BANANA: + shownCards.append(load("res://Objects/Banana/BananaCard.tscn").instance()) + DrNDrPre.cards.BARRIERE: + shownCards.append(load("res://Objects/Barriere/BarrierCard.tscn").instance()) + DrNDrPre.cards.BARREL: + shownCards.append(load("res://Objects/Barrel/BarrelCard.tscn").instance()) + DrNDrPre.cards.TORCH: + shownCards.append(load("res://Objects/Torch/TorchCard.tscn").instance()) + DrNDrPre.cards.BEAR: + shownCards.append(load("res://Objects/Traps/Bear/BearCard.tscn").instance()) + DrNDrPre.cards.FLAME: + shownCards.append(load("res://Objects/Traps/Flame/FlameCard.tscn").instance()) + DrNDrPre.cards.SPIKE: + shownCards.append(load("res://Objects/Traps/Spike/SpikeCard.tscn").instance()) + #DrNDrPre.cards.SLIME: + #shownCards.append(load("res://Objects/Slime/SlimeCard.tscn").instance()) + for i in range(3): + $Cards.add_child(shownCards[i]) + shownCards[0].set_begin (cardPositions[0]) + shownCards[1].set_begin (cardPositions[1]) + shownCards[2].set_begin (cardPositions[2]) + + for i in range(3): + shownCards[i].canNotPlace = true + shownCards[i].margin_bottom = shownCards[i].margin_top+32 + shownCards[i].margin_right = shownCards[i].margin_left+32 + var i = 0 + allowChoosCards = true + else: + pass +func _input(event): + if((event is InputEventMouseButton) && allowChoosCards): + for card in range(3): + if(event.global_position[0] >= cardPositions[card][0] && + event.global_position[0] >= cardPositions[card][0]+32 && + event.global_position[1] >= cardPositions[card][1] && + event.global_position[1] >= cardPositions[card][1]+32): + for i in range(5): + if (DrNDr.usedCards[i] == DrNDrPre.cards.EMPTY): + DrNDr.usedCards[i] = randcards[card] + Engine.time_scale=1 + allowChoosCards = false + self.hide() + if (i == 4): + showCards = false + for j in range(3): + shownCards[j].queue_free() + return + + func _on_Button_pressed(): Engine.time_scale=1 self.hide()