godotcode

Godot Code Samples

spawn code:

func spawn():
	if $AutoPixels.get_child_count() == 0:
		for k in AutoFactory.keys():
			for i in range(MachineMap.get_used_cells_by_id(AutoFactory[k].TileID).size()):
				Player.Energy -= AutoFactory[k].EnergyUse
				var pos = MachineMap.map_to_world(MachineMap.get_used_cells_by_id(AutoFactory[k].TileID)[i])
				var g = Pixel.instance()
				$AutoPixels.add_child(g)
				g.connect("_PixelCollected", self, "_PixelCollected")
				g.set_position(pos+Vector2(24,24))
				g.auto(true)
				#g.location(pos)
				
	for k in Factory.keys():
		for i in range(MachineMap.get_used_cells_by_id(Factory[k].TileID).size()):
			var pos = MachineMap.map_to_world(MachineMap.get_used_cells_by_id(Factory[k].TileID)[i])
			if pos in PixelList:
				print("i am in array")
			else:
				print("i am not in array")
				var g = Pixel.instance()
				$Pixels.add_child(g)
				g.connect("_PixelCollected", self, "_PixelCollected")
				g.set_position(pos+Vector2(24,24))
				g.auto(false)
				g.location(pos)
				PixelList.append(pos)
	for k in Factory.keys():
		for i in range(MachineMap.get_used_cells_by_id(Factory[k].TileID).size()):
			var pos = MachineMap.map_to_world(MachineMap.get_used_cells_by_id(Factory[k].TileID)[i])
			if not pos in PixelList:
				var time = Factory[k].Time
				var auto = false
				PixelList.append(pos)
				var t = MachineTimer.instance()
				$Timers.add_child(t)
				t.connect("_MachineTimerStop", self, "_MachineTimerStop")
				t.init(time,pos,auto)
	for k in AutoFactory.keys():
		for i in range(MachineMap.get_used_cells_by_id(AutoFactory[k].TileID).size()):
			var pos = MachineMap.map_to_world(MachineMap.get_used_cells_by_id(AutoFactory[k].TileID)[i])
			if not pos in PixelList && Player.Resources.Energy >= AutoFactory[k].EnergyUse:
				Player.Resources.Energy -= AutoFactory[k].EnergyUse
				var time = AutoFactory[k].Time
				var auto = true
				PixelList.append(pos)
				var t = MachineTimer.instance()
				$Timers.add_child(t)
				t.connect("_MachineTimerStop", self, "_MachineTimerStop")
				t.init(time,pos,auto)