示例#1
0
def target(internalGameName):
    if internalGameName is not None and not Game.isValidGame(internalGameName):
        print("Game name is invalid! Select another.")
        internalGameName = None

    if internalGameName is None:
        game = Game.pick(True)
        if game is None:
            untarget()
        else:
            config.setTargetGame(game.gamePath)
    else:  #a valid name was inserted
        config.setTargetGame(Game.fromInternalName(internalGameName).gamePath)
示例#2
0
def reactToCommand(command):
	commandList = utils.parList(command)
	targetedGame = config.getTargetGame()
	games = config.getFMCGames()

	firstCommand = commandList[0];
	secondCommand = None
	if len(commandList) > 1:
		secondCommand = commandList[1];

	#Since platforms are useful for more commands, let's check them here
	targetAndroid = False
	targetIOS = False
	if "android" in commandList:
		targetAndroid = True
	if "ios" in commandList:
		targetIOS = True
	if not (targetAndroid or targetIOS):
		targetAndroid = True
		targetIOS = True

	if command == "info":
		printInfo()

	elif firstCommand == "create":
		gameName = ""
		if secondCommand is not None:
			gameName = secondCommand
		creator.createNewProject(gameName)

	elif firstCommand == "untarget":
		targeter.untarget()

	else: #if here, we are working on existing games		
		#trying to find the targeted game
		toTarget = targetedGame
		if secondCommand is not None:
			if secondCommand != "" and secondCommand != "all" and not Game.isValidGame(secondCommand):
				for g in games:
					if g.internalGameName.startswith(secondCommand) and utils.readYesNo("Did you mean " + g.internalGameName + "?", True):
						secondCommand = g.internalGameName
						break
			if Game.isValidGame(secondCommand):
				toTarget = Game.fromInternalName(secondCommand)

		if firstCommand == "target":
			if toTarget is not None:
				targeter.target(secondCommand)
			else:
				targeter.target(None)

		elif firstCommand == "unity":
			if "all" in commandList:
				Game.launchUnityForAllGames("ask" in commandList)
			else:
				if toTarget is None: toTarget = Game.pick(True, "All")
				if toTarget is None: Game.launchUnityForAllGames("ask" in commandList) #The user selected "All"
				else: toTarget.launchUnity(None, False)

		elif firstCommand == "status":
			if toTarget is not None and secondCommand != "all":
				toTarget.hasFilesToCommit(True,True)
			else:
				gamesWithFilesToCommit = Game.getGamesWithFilesToCommit(True,False)
				if len(gamesWithFilesToCommit) <= 0:
					print("CLEAN - All games have no files to commit!")

		elif firstCommand == "pull":
			if "all" in commandList:
				puller.pullAll()
			else:
				if toTarget is None: toTarget = Game.pick(True, "All")
				if toTarget is None: puller.pullAll() #The user selected "All"
				else: puller.pull(toTarget, True)

		elif firstCommand == "push":
			#By default uses targeted game. If overridden, use the given one  
			if toTarget is None: toTarget = Game.pick(False)
			pusher.push(toTarget) #if targeted game is None, a picker will appear

		elif firstCommand == "sign":
			if "all" in commandList:
				signer.signAll()
			else:
				if toTarget is None: toTarget = Game.pick(True, "All")
				if toTarget is None: signer.signall() #The user selected "All"
				else: signer.sign(toTarget)

		elif firstCommand == "build":
			if "all" in commandList:
				builder.buildAll(targetAndroid, targetIOS)
			else:
				if toTarget is None: toTarget = Game.pick(True, "All")
				if toTarget is None: builder.buildAll(targetAndroid, targetIOS) #The user selected "All"
				else: builder.build(toTarget, targetAndroid, targetIOS)

		elif firstCommand == "ship":
			if "all" in commandList:
				shipper.shipAll(targetAndroid, targetIOS)
			else:
				if toTarget is None: toTarget = Game.pick(True, "All")
				if toTarget is None: shipper.shipAll(targetAndroid, targetIOS) #The user selected "All"
				else: shipper.ship(toTarget, targetAndroid, targetIOS)

		elif firstCommand == "test":
			if "all" in commandList:
				shipper.updateAllIOSTesters()
			else:
				if toTarget is None: toTarget = Game.pick(True, "All")
				if toTarget is None: shipper.updateAllIOSTesters() #The user selected "All"
				else: shipper.updateIOSTesters(toTarget)
		
		elif firstCommand == "check":
			if "all" in commandList:
				shipper.checkAllIOS()
			else:
				if toTarget is None: toTarget = Game.pick(True, "All")
				if toTarget is None: shipper.checkAllIOS(targetAndroid, targetIOS) #The user selected "All"
				else: 
					shipper.checkIOS(toTarget)

		elif firstCommand == "fill":
			if "all" in commandList:
				shipper.fillAllIOSTestInfo()
			else:
				if toTarget is None: toTarget = Game.pick(True, "All")
				if toTarget is None: shipper.fillAllIOSTestInfo() #The user selected "All"
				else: 
					shipper.fillIOSTestInfo(toTarget)

		else:
			if command != "":
				print("invalid command. Use 'info' to get a list of available commands.")