示例#1
0
def generateGoMenu():
    locations = wolfpack.getdefinitions(WPDT_LOCATION)

    gomenu = MakeMenu('GOMENU', None, 'Go Menu')
    submenus = {}

    for location in locations:
        if not location.hasattribute('category'):
            continue
        categories = location.getattribute('category').split('\\')
        description = categories[len(categories) - 1]  # Name of the action
        categories = categories[:len(categories) - 1]

        # Iterate trough the categories and see if they're all there
        category = ''
        if len(categories) > 0 and not submenus.has_key('\\'.join(categories) +
                                                        '\\'):
            for subcategory in categories:
                if not submenus.has_key(category + subcategory + '\\'):
                    # Category is our parent category
                    parent = None
                    if len(category) == 0:
                        parent = gomenu
                    elif category in submenus:
                        parent = submenus[category]

                    category += subcategory + '\\'
                    menu = MakeMenu('GOMENU_' + category, parent, subcategory)
                    submenus[category] = menu
                else:
                    category += subcategory + '\\'

        # Parse the position of this makemenu entry
        if location.text.count(',') != 3:
            raise RuntimeError, "Wrong position information for location %s." % location.getattribute(
                'id')

        (x, y, z, map) = location.text.split(',')
        pos = wolfpack.coord(int(x), int(y), int(z), int(map))

        if len(categories) == 0:
            GoAction(gomenu, description, pos)
        else:
            GoAction(submenus['\\'.join(categories) + '\\'], description, pos)

    for menu in submenus.values():
        menu.sort()

    gomenu.sort()
    return
示例#2
0
def generateGoMenu():
    locations = wolfpack.getdefinitions(WPDT_LOCATION)

    gomenu = MakeMenu("GOMENU", None, "Go Menu")
    submenus = {}

    for location in locations:
        if not location.hasattribute("category"):
            continue
        categories = location.getattribute("category").split("\\")
        description = categories[len(categories) - 1]  # Name of the action
        categories = categories[: len(categories) - 1]

        # Iterate trough the categories and see if they're all there
        category = ""
        if len(categories) > 0 and not submenus.has_key("\\".join(categories) + "\\"):
            for subcategory in categories:
                if not submenus.has_key(category + subcategory + "\\"):
                    # Category is our parent category
                    parent = None
                    if len(category) == 0:
                        parent = gomenu
                    elif category in submenus:
                        parent = submenus[category]

                    category += subcategory + "\\"
                    menu = MakeMenu("GOMENU_" + category, parent, subcategory)
                    submenus[category] = menu
                else:
                    category += subcategory + "\\"

                    # Parse the position of this makemenu entry
        if location.text.count(",") != 3:
            raise RuntimeError, "Wrong position information for location %s." % location.getattribute("id")

        (x, y, z, map) = location.text.split(",")
        pos = wolfpack.coord(int(x), int(y), int(z), int(map))

        if len(categories) == 0:
            GoAction(gomenu, description, pos)
        else:
            GoAction(submenus["\\".join(categories) + "\\"], description, pos)

    for menu in submenus.values():
        menu.sort()

    gomenu.sort()
    return
示例#3
0
def generateGoMenu():
	locations = wolfpack.getdefinitions(WPDT_LOCATION)

	gomenu = MakeMenu('GOMENU', None, 'Go Menu')
	submenus = {}

	for location in locations:
		if not location.hasattribute('category'):
			continue
		categories = location.getattribute('category').split('\\')
		description = categories[len(categories)-1] # Name of the action
		categories = categories[:len(categories)-1]

		# Iterate trough the categories and see if they're all there
		category = ''
		if len(categories) > 0 and not submenus.has_key('\\'.join(categories) + '\\'):
			for subcategory in categories:
				if not submenus.has_key(category + subcategory + '\\'):
					# Category is our parent category
					parent = None
					if len(category) == 0:
						parent = gomenu
					elif submenus.has_key(category):
						parent = submenus[category]

					category += subcategory + '\\'
					menu = MakeMenu('GOMENU_' + category, parent, subcategory)
					submenus[category] = menu
				else:
					category += subcategory + '\\'

		# Parse the position of this makemenu entry
		if location.text.count(',') != 3:
			raise RuntimeError, "Wrong position information for location %s." % location.getattribute('id')

		(x, y, z, map) = location.text.split(',')
		pos = wolfpack.coord(int(x), int(y), int(z), int(map))

		if len(categories) == 0:
			GoAction(gomenu, description, pos)
		else:
			GoAction(submenus['\\'.join(categories) + '\\'], description, pos)

	for menu in submenus.values():
		menu.sort()

	gomenu.sort()
示例#4
0
def generateAddMenu():
	items = wolfpack.getdefinitions(WPDT_ITEM)

	addmenu= MakeMenu('ADDMENU', None, 'Add Menu')
	submenus = {}

	for item in items:
		if not item.hasattribute('id'):
			continue

		child = item.findchild('category')
		if not child:
			continue

		categories = ['Items'] + child.text.split('\\')
		description = categories[len(categories)-1] # Name of the action
		categories = categories[:len(categories)-1]

		# Iterate trough the categories and see if they're all there
		category = ''
		if len(categories) > 0 and not submenus.has_key('\\'.join(categories) + '\\'):
			for subcategory in categories:
				if not submenus.has_key(category + subcategory + '\\'):
					# Category is our parent category
					parent = None
					if len(category) == 0:
						parent = addmenu
					elif submenus.has_key(category):
						parent = submenus[category]

					category += subcategory + '\\'
					menu = MakeMenu('ADDMENU_' + category, parent, subcategory)
					submenus[category] = menu
				else:
					category += subcategory + '\\'

		child = item.findchild('id')
		if child:
			try:
				id = int(child.value)
			except:
				id = 0
		else:
			id = 0
		definition = item.getattribute('id')

		# Parse the position of this makemenu entry
		if len(categories) == 0:
			additem = AddItemAction(addmenu, description, id, definition)
		else:
			additem = AddItemAction(submenus['\\'.join(categories) + '\\'], description, id, definition)
		additem.description = 'Definition: ' + definition

	for menu in submenus.values():
		menu.sort()

	npcs = wolfpack.getdefinitions(WPDT_NPC)
	submenus = {}

	for npc in npcs:
		if not npc.hasattribute('id'):
			continue

		child = npc.findchild('category')
		if not child:
			continue

		categories = ['NPCs'] + child.text.split('\\')
		description = categories[len(categories)-1] # Name of the action
		categories = categories[:len(categories)-1]

		# Iterate trough the categories and see if they're all there
		category = ''
		if len(categories) > 0 and not submenus.has_key('\\'.join(categories) + '\\'):
			for subcategory in categories:
				if not submenus.has_key(category + subcategory + '\\'):
					# Category is our parent category
					parent = None
					if len(category) == 0:
						parent = addmenu
					elif submenus.has_key(category):
						parent = submenus[category]

					category += subcategory + '\\'
					menu = MakeMenu('ADDMENU_' + category, parent, subcategory)
					submenus[category] = menu
				else:
					category += subcategory + '\\'

		definition = npc.getattribute('id')

		# Parse the position of this makemenu entry
		if len(categories) == 0:
			addnpc = AddNpcAction(addmenu, description, definition)
		else:
			addnpc = AddNpcAction(submenus['\\'.join(categories) + '\\'], description, definition)
		addnpc.description = 'Definition: ' + definition

	for menu in submenus.values():
		menu.sort()

	addmenu.sort()