Exemplo n.º 1
0
	def __init__(self):
		DefaultWindow.__init__(self);
		self.action = None;
		self.key = None;
		self.profiles = [];

		self.setSizePct(.3,.3);
		self.setBackgroundColor(glass.Color(0,0,0,128))

		self.info = DefaultTextBox();
		self.info.setForegroundColor(glass.Color(238, 238, 238));
		self.info.setOpaque(False);
		self.info.setFocusable(False);
		self.info.setText("To choose a new bind key press a key or click on the current bind key label");
		self.info.setWidth(screenWidthPct(.25));
		self.add(self.info, "center", "top");

		self.cancel = glass.ImageButton("", "/gui/main/images/canceltr.s2g");
		self.cancel.setSize(32,32)
		self.add(self.cancel, "left", "bottom");
		self.cancel.addActionListener(self);
		self.ok = glass.ImageButton("", "/gui/main/images/yestr.s2g");
		self.ok.setSize(32,32)
		self.add(self.ok, "right", "bottom");
		self.ok.addActionListener(self);
		self.clear = DefaultButton("Clear");
		self.add(self.clear, "center", "bottom");
		self.clear.addActionListener(self);

		c = DefaultContainer();
		c.setSize(100,100);
		c.setFrameSize(1);
		self.add(c, "center", "center");

		self.keyLabel = DefaultLabel("Not Set");
		c.add(self.keyLabel, "center", "center");

		self.canvas = glass.GlassCanvas();
		self.canvas.setBackgroundColor(glass.Color(0, 0, 0, 0));
		self.canvas.setVisible(False);
		self.canvas.setOpaque(True);
		self.canvas.invisTextField = DefaultTextField();
		self.canvas.invisTextField.setVisible(False);
		c.add(self.canvas.invisTextField);
		c.add(self.canvas);
		self.canvas.setSizePct(1, 1);
		self.canvas.addMouseListener(self);
		self.canvas.addKeyListener(self);
		self.canvas.invisTextField.addKeyListener(self);
	
		# TODO: add button to set to default
		self.setVisible(False);	
Exemplo n.º 2
0
	def update(self):
		gobjs = savage.getActiveObjects();
		myteam = savage.getLocalPlayer().getTeam();
		self.buttons.erase();
		
		for go in gobjs:
			if go.isSpawnPoint() and ((cvar_getvalue("sv_allowWarmupAllSpawnLocs") == 1 and savage.getGameStatus()<=GAME_STATUS_WARMUP) or go.getTeam() == myteam):
				pos = go.getPosition();
				#create a button with the appropriate color and image
				button = glass.ImageButton();
				#and place it in the correct position
				button.setImage(go.getMapIcon());
				button.setSize(screenWidthPct(0.025),screenWidthPct(0.025));
				if go.getTeam() == myteam:
					button.setForegroundColor(white);
					if go.isComplete() == False:
						button.setForegroundColor(glass.Color(0,255,0));
					else:
						button.setClickAction("CL_RequestSpawn("+str(go.objectId)+")");
				else:
					if cvar_getvalue("sv_allowWarmupAllSpawnLocs") == 1 and savage.getGameStatus()<=GAME_STATUS_WARMUP:
						button.setClickAction("CL_RequestSpawn("+str(go.objectId)+")");
					else:
						button.setForegroundColor(glass.Color(255,0,0));
				scale = float(World_GetGridSize()*100.0);
				button.setX(int( self.minimap.getWidth()* pos[0]/scale - button.getWidth()/2  ));
				button.setY(int( self.minimap.getHeight()*(1-pos[1]/scale) - button.getHeight()/2 ));
				self.buttons.add(button);
Exemplo n.º 3
0
    def newRow(self, name="", icon=None, online=False):
        #icon for clan icons (#TODO)
        delete = glass.ImageButton()
        delete.setImage("/gui/standard/icons/minus.s2g")
        delete.setClickAction("gblBuddyManager.removeBuddy(" + name + ");")

        if icon == None:
            icon = "^icon transparent^"
        #else, determine the ^icon string for the user's clan icon

        label = glass.GlassLabel(icon + name)
        label.setX(delete.getX() + delete.getWidth() + self.PADDING)
        label.setWidth(self.listbox.getWidth() - label.getX())
        label.setForegroundColor(tangoGrey3 if not online else white)

        container = glass.GlassContainer()
        container.add(label)
        container.add(delete)
        container.setWidth(self.listbox.getWidth())
        h = max(label.getHeight(), delete.getHeight())
        container.setHeight(h)
        label.setY((h - label.getHeight()) // 2)
        delete.setY((h - delete.getHeight()) // 2)

        self.listbox.addWidgetItem(container)
Exemplo n.º 4
0
def rebuildUnits():
	player = savage.getLocalPlayer();
	team = savage.getTeamObject(player.getTeam());

	loadout.unitContainer.erase();

	viewers = [];
	unitNames = [];
	unitPrices = [];
	unitList = team.getUnits();

	for unit in unitList:
		
		price = str( unit.getValue("playerCost") );
		if price == "0":
			price = "FREE";

		if price == "-1":
			continue;

		modelContainer = glass.GlassContainer(); #Store the button and the viewer in a container
		modelContainer.setSizePct( 0.075, 0.15 ); 
		
		viewer = glass.GlassViewer();
		viewer.setModel(unit.getValue("model"));
		viewer.setOpaque(0);
		modelContainer.add( viewer, 0, 0 );
		viewer.rotateModel(160);
		viewer.setCameraFOV(45);
		viewer.setSizePct(1,1);
		viewer.setAnimation("idle");
		viewer.fitCameraToModel(2);
		#viewer.setCameraPosition(0,0,16);
		#viewer.setCameraDistance(40);
		
		button = glass.ImageButton("textures/econs/transparent.s2g");
		#Create clickable, invisible button over the viewer.
		button.setClickAction( "CL_RequestUnit('" + str(unit.getValue('name')) + "');" );
		modelContainer.add( button );
		button.setSizePct(1,1);
		button.setPosition(0,0);
		
		viewers.append( modelContainer );
		
		price = glass.GlassLabel("^icon ../../gui/standard/icons/gold/gold_icon^" + price);
		price.setForegroundColor( gold );
		price.setFont(fontSizeSmall);
		unitPrices.append(price);
		
		name = glass.GlassLabel(unit.getValue("description"));
		unitNames.append(name);
		
	loadout.unitContainer.addRow(*viewers);
	loadout.unitContainer.addRow(*unitNames);
	loadout.unitContainer.addRow(*unitPrices);
	
	loadout.unitContainer.adjustHeightTo(int(0.2*loadout.main.getHeight()));
	loadout.unitContainer.setX( int( 0.69*loadout.main.getWidth() - loadout.unitContainer.getWidth()/2) );
	loadout.unitContainer.adjustJustification();
Exemplo n.º 5
0
    def __init__(self, team, side, w, h):
        DefaultContainer.__init__(self)
        #self.setBackgroundColor(glass.Color(0,0,0,128));
        self.team = team

        self.setSize(w, h)

        self.side = side
        #Is it on the left or right?
        self.rowPlayerDict = {}
        # {row: player}

        self.kills = DefaultLabel("^icon ../../gui/game/images/kills^^g999")
        #str(self.team.getKills()));
        #self.kills.setWidth(int(self.getWidth()*0.15));
        self.add(self.kills)

        self.description = DefaultLabel("")
        self.add(self.description)
        if self.team.getRace() == "human":
            self.description.setCaption("The Legion of Man")
        else:
            self.description.setCaption("The Beast Horde")

        self.scrollTeamsArrow = glass.ImageButton()
        self.scrollTeamsArrow.setClickAction("spechud.lobby.switchTeams('" +
                                             self.side + "')")
        self.add(self.scrollTeamsArrow)

        self.comm = DefaultLabel("Comm: ^rNO COMMANDER")

        self.listContainer = DefaultContainer()
        self.listContainer.setBackgroundColor(glass.Color(0, 0, 0, 128))
        self.add(self.listContainer)
        self.listContainer.setSizePct(0.8, 0.9)

        self.list = DefaultTableList()
        self.list.padding = 5
        self.list.setSelectionColor(glass.Color(70, 40, 40))
        self.listContainer.add(self.list, 0, 0)

        self.enlist = DefaultButton("Enlist now!")
        self.enlist.setClickAction("CL_RequestTeam(" + str(team.teamId) +
                                   ");CL_RequestLoadout();")
        self.enlist.setHeight(self.list.getRowHeight())
        self.enlist.setWidth(self.listContainer.getWidth())

        self.scroll = glass.GlassScrollArea(self.list)
        self.scroll.setBackgroundColor(transparency)
        self.scroll.setSize(self.listContainer.getWidth(),
                            self.listContainer.getHeight())
        self.scroll.setHorizontalScrollPolicy(glass.GlassScrollArea.SHOW_NEVER)

        self.listContainer.add(self.scroll, 0, 0)

        # build and position everything:
        self.build()
        self.changeSide(self.side)
Exemplo n.º 6
0
    def __init__(self, item, action=None):

        self.item = item
        self.action = action

        glass.GlassContainer.__init__(self)
        self.setSize(int(self.ICON_SIZE * 1.5 + 2 * self.PADDING),
                     int(self.ICON_SIZE * 1.5 + 2 * self.PADDING))
        self.setOpaque(False)

        self.name = glass.GlassLabel(item.getType().getValue("description"))
        self.name.setPosition(self.PADDING, self.PADDING)
        self.name.setWidth(self.ICON_SIZE)
        self.name.setAlignment(glass.Graphics.CENTER)
        #self.add(self.name);

        lineh = self.name.getHeight()

        self.icon = glass.GlassLabel()
        self.icon.setImage(item.getType().getValue("icon") + ".s2g")
        self.icon.setX(self.PADDING)
        self.icon.setY(self.PADDING)
        #self.icon.setY(self.name.getY() + self.name.getHeight() + self.VERTICAL_PADDING );
        self.icon.setSize(self.ICON_SIZE, self.ICON_SIZE)
        self.add(self.icon)

        self.close = glass.ImageButton("close", "/gui/standard/cancel.s2g")
        self.close.setSize(self.STATUS_ICON_SIZE, self.STATUS_ICON_SIZE)
        #need to be able to handle what happens when that gets clicked somehow
        self.close.setX(self.icon.getX() + self.icon.getWidth() -
                        self.close.getWidth() // 2)
        self.close.setY(self.icon.getY())
        self.add(self.close)
        self.close.addActionListener(self)

        self.bar = glass.GlassProgressBar()
        self.bar.setX(self.icon.getX() + self.BAR_PADDING)
        self.bar.setY(self.icon.getY() + self.icon.getHeight() +
                      self.VERTICAL_PADDING + self.BAR_PADDING)
        self.bar.setWidth(self.ICON_SIZE - 2 * self.BAR_PADDING)
        self.bar.setHeight(8)
        self.add(self.bar)

        self.barText = glass.GlassLabel("")
        self.barText.setX(self.bar.getX() + self.BAR_PADDING)
        self.barText.setY(self.bar.getY() + self.BAR_PADDING)
        self.barText.setWidth(self.bar.getWidth() - 2 * self.BAR_PADDING)
        self.barText.setHeight(self.bar.getHeight() - 2 * self.BAR_PADDING)

        self.status_icon = glass.GlassLabel("")
        self.status_icon.setImage("/textures/econs/transparent.s2g")
        self.status_icon.setSize(self.STATUS_ICON_SIZE, self.STATUS_ICON_SIZE)
        self.status_icon.setPosition(self.close.getX(),
                                     self.close.getY() + self.ICON_SIZE)
        self.add(self.status_icon)
Exemplo n.º 7
0
    def __init__(self):
        DefaultContainer.__init__(self)
        self.setOpaque(False)
        self.setVisible(True)
        self.setBackgroundColor(transparency)

        self.team = None
        self.lastWorkers = []

        goldImg = glass.GlassLabel()
        goldImg.setImage("gui/game/images/gold_icon.s2g")
        goldImg.setSize(24, 24)
        # A bit smaller than the redstone one
        self.add(goldImg, 0, 0)

        self.goldLbl = DefaultLabel("00000")
        self.goldLbl.setForegroundColor(gold)
        self.add(self.goldLbl,
                 goldImg.getWidth() + 2, 0)

        self.redstoneImg = glass.GlassLabel()
        self.redstoneImg.setImage("gui/game/images/redstone.s2g")
        self.redstoneImg.setSize(32, 32)
        # Image size
        self.add(self.redstoneImg,
                 self.goldLbl.getX() + self.goldLbl.getWidth() + 5)

        self.redstoneLbl = DefaultLabel("00000")
        self.redstoneLbl.setForegroundColor(tangoRedLight)
        self.add(self.redstoneLbl,
                 self.redstoneImg.getWidth() + self.redstoneImg.getX() + 2, 4)

        self.workerImg = glass.ImageButton()
        self.workerImg.setId("idle")
        self.workerImg.setImage("gui/game/images/human_worker.s2g")
        self.workerImg.setSize(24, 24)
        # Image size
        self.add(self.workerImg,
                 self.redstoneLbl.getX() + self.redstoneLbl.getWidth() + 5)
        self.workerImg.addActionListener(self)

        self.workerLbl = DefaultLabel("00/00")
        self.workerLbl.setForegroundColor(gold)
        self.add(self.workerLbl,
                 self.workerImg.getWidth() + self.workerImg.getX() + 2, 0)

        self.fit()
        # let's see if that works!

        #testing stuff:
        self.setWidth(self.getWidth() + 10)

        self.onShow()
Exemplo n.º 8
0
    def __init__(self):
        glass.GlassContainer.__init__(self)
        gblBuddyManager.addList(self)

        self.setSizePct(self.WIDTH_PROPORTION, self.HEIGHT_PROPORTION)
        self.toggle = glass.GlassButton("0")
        #either add in a custom button background here, including the buddy logo
        #or just bodge it with ^icon^
        #wtf was I thinking, GlassButton accepts an icon param
        self.toggle.setY(self.getHeight() - self.toggle.getHeight())
        self.toggle.addMouseListener(self)
        self.add(self.toggle)

        self.window = glass.GlassWindow()
        self.window.setCaption("Buddies")
        self.window.setAlpha(0)
        self.window.setVisible(False)
        self.window.setMovable(0)
        self.window.setSize(self.getWidth(),
                            self.getHeight() - self.toggle.getHeight())
        self.window.setPosition(0, 0)
        self.add(self.window)

        ca = self.window.getChildrenArea()

        self.new = glass.ImageButton()
        self.new.setImage("/gui/standard/icons/plus.s2g")
        self.new.setX(ca.width - self.PADDING - self.new.getWidth())
        self.new.addMouseListener(self)
        self.window.add(self.new)

        self.input = glass.GlassTextField("Add new...")
        self.input.setX(self.PADDING)
        self.input.setWidth(self.new.getX() - self.PADDING - self.input.getX())
        self.input.addMouseListener(self)
        self.window.add(self.input)

        y2 = max(self.new.getHeight(), self.input.getHeight())
        y1 = ca.height - y2
        self.new.setY(y1 + (y2 - self.new.getHeight()) // 2)
        self.input.setY(y1 + (y2 - self.input.getHeight()) // 2)

        self.listbox = glass.GlassListBox()
        self.listbox.setBackgroundColor(transparency)

        self.scroll = glass.GlassScrollArea(self.listbox)
        self.scroll.setSize(ca.width, y1 - self.PADDING)
        self.window.add(self.scroll)
        self.listbox.setWidth(ca.width - self.scroll.getScrollbarWidth())
Exemplo n.º 9
0
	def __init__(self, t):
		DefaultContainer.__init__(self);
		import loadout;
		self.objtype = savage.getObjectType(t);
		
		self.setSize(int(screenHeight*0.0625), int(screenHeight*0.09375));
		
		self.viewer = glass.GlassViewer();
		self.viewer.setModel(self.objtype.getValue("model"));
		self.viewer.setOpaque(False);
		self.viewer.setSize(self.getWidth(), self.getWidth());
		self.add( self.viewer, 0, 0 );
		self.viewer.rotateModel(160);
		self.viewer.setCameraPosition(-3,-1,12);
		self.viewer.setCameraTarget(-3,0,12);
		self.viewer.setCameraFOV(22.5);
		self.viewer.setAnimation("idle");
		
		self.request = DefaultImageButton();
		self.request.setImage("request.s2g");
		self.request.setSize(self.getWidth(), self.getWidth());
		self.request.setVisible(False);
		self.add(self.request);
		
		button = glass.ImageButton("textures/econs/transparent.s2g");
		#Create clickable, invisible button over the viewer.
		button.addActionListener(self);
		button.setClickAction( "CL_RequestUnit('" + t + "');" );
		self.add( button );
		button.setSizePct(1,1);
		
		name = DefaultLabel(self.objtype.getValue("description"));
		name.setFont(fontSizeSmall);
		
		self.price = DefaultLabel();

		p = str(self.objtype.getValue("playerCost"));
		if p == "0":
			p = "FREE";
		else:
			p = p + "^w^icon ../../gui/standard/icons/gold/gold_icon^";

		self.price.setCaption("^l" + p);
		self.price.setFont(fontSizeSmall);
		self.add(self.price, "center", int(screenHeight*0.0625));
Exemplo n.º 10
0
def rebuildWeapons():
	techColumns = loadout.techColumns;
	loadout.weaponContainer.erase();
	player = savage.getLocalPlayer();
	team = savage.getTeamObject(player.getTeam());
	currentInventory = [];
	for j in range(5):
		currentInventory.append(player.getInventorySlot(j));
	
	##WEAPONS
	ycol = [10,10,10,10];
	col=0;
	for weapon in team.getWeapons():
		if weapon.getValue("playerCost") < 0:
			continue;
		for i in range(len(techColumns)):
			if weapon.getTechType() == techColumns[i]:
				col = i;
				break;

		if weapon not in currentInventory:
			name = weapon.getValue("name")
			button = glass.ImageButton();
			button.setImage(weapon.getValue("icon")+".s2g");
			button.setSize(loadout.ICON_SIZE, loadout.ICON_SIZE);
			button.setClickAction("""
CL_RequestGiveback(0);
CL_RequestGiveback(1);
CL_RequestGive('"""+name+"""')
""");
			loadout.weaponContainer.add(button, 10+(loadout.ICON_SIZE+8)*col, ycol[col]);
			
			price = str(weapon.getValue("playerCost"));
			if price == "0":
				price = "FREE";
			price = glass.GlassLabel("^icon ../../gui/standard/icons/gold/gold_icon^" + price);
			price.setAlignment(glass.Graphics.CENTER);
			price.setFont(fontSizeSmall);
			price.setForegroundColor( gold );
			price.adjustSize();
			price.setWidth( button.getWidth() );
			price.setPosition( button.getX(), button.getY() + button.getHeight() + 2 )
			loadout.weaponContainer.add(price)
		
		ycol[col] = price.getY() + price.getHeight() + 2;
Exemplo n.º 11
0
def rebuildItems():
	techColumns = loadout.techColumns
	loadout.itemContainer.erase();
	player = savage.getLocalPlayer();
	team = savage.getTeamObject(player.getTeam());
	currentInventory = [];
	for j in range(5):
		currentInventory.append(player.getInventorySlot(j));
	
	ycol = [10,10,10,10]; #FIXME: more or less columns based on techColumns?
	col=0;
	
	for item in team.getItems():
		if item.getValue("playerCost") < 0:
			continue;
		for i in range(len(techColumns)):
			if item.getTechType() == techColumns[i]:
				col = i;
				break;

		name = item.getValue("name");
		button = glass.ImageButton();
		button.setImage(item.getValue("icon")+".s2g");
		button.setSize(loadout.ICON_SIZE,loadout.ICON_SIZE)
		button.setPosition(10+(loadout.ICON_SIZE+8)*col, ycol[col]);
		button.setClickAction("""
CL_RequestGive('"""+name+"""')
""");
		price = str(item.getValue("playerCost"));
		if price == "0":
			price = "FREE";
		price = glass.GlassLabel("^icon ../../gui/standard/icons/gold/gold_icon^" + price);
		price.setAlignment(glass.Graphics.CENTER);
		price.setFont(fontSizeSmall);
		price.setForegroundColor( gold );
		price.adjustSize();
		price.setWidth( button.getWidth() );
		price.setPosition( button.getX(), button.getY() + button.getHeight() + 2 )

		if item not in currentInventory or player.getInventorySlotAmmo(currentInventory.index(item)) < item.getValue("ammoMax"):
			loadout.itemContainer.add(button);
			loadout.itemContainer.add(price)
		
		ycol[col] = price.getY() + price.getHeight() + 2;
Exemplo n.º 12
0
	def __init__(self, slot):
		DefaultContainer.__init__(self);
		
		self.setSize(screenWidthPct(0.0625), screenWidthPct(0.0625));
		self.setBackgroundColor(glass.Color(0,0,0,128));
		
		self.slot = slot;
		self.image = DefaultImageButton();
		self.add(self.image);
		self.image.setSizePct(1,1);

		self.ammo = DefaultLabel();
		self.ammo.setForegroundColor(tangoGreen);
		self.add(self.ammo);
		
		button = glass.ImageButton("textures/econs/transparent.s2g");
		self.add( button );
		button.setSizePct(1,1);
		
		button.addActionListener(self);
Exemplo n.º 13
0
	def __init__(self, t):
		DefaultContainer.__init__(self);
		import loadout;
		self.objtype = savage.getObjectType(t);

		self.setSize(int(screenHeight*0.0625), int(screenHeight*0.09375));
		
		#self.image = glass.GlassProgressDisc();
		self.image = DefaultImage();
		self.image.setImage("../../../"+ self.objtype.getValue("icon")+".s2g");
		self.image.setSize(int(screenHeight*0.0625), int(screenHeight*0.0625));
		self.add(self.image);
		
		self.request = DefaultImageButton();
		self.request.setImage("request.s2g");
		self.request.setSize(int(screenHeight*0.0625), int(screenHeight*0.0625));
		self.request.setVisible(False);
		self.add(self.request);

		self.maxDeployment = DefaultLabel();
		self.maxDeployment.setCaption("00");
		self.maxDeployment.setForegroundColor(tangoGreen);
		self.add(self.maxDeployment,"right", "top");
		
		self.price = DefaultLabel();
		p = str(self.objtype.getValue("playerCost"));
		if p == "0":
			p = "FREE";
		else:
			p = p + "^w^icon ../../gui/standard/icons/gold/gold_icon^";

		self.price.setCaption("^l" + p);
		self.price.setFont(fontSizeSmall);
		self.add(self.price, "center", int(screenHeight*0.0625));

		button = glass.ImageButton("textures/econs/transparent.s2g");
		self.add( button );
		button.setSizePct(1,1);
		
		button.addActionListener(self);
Exemplo n.º 14
0
    def rebuild(self):
        self.table.clear()

        #1. create lists of object types
        # each list represents a column
        # use None to represent a blank space
        items = self.teamObj.getResearchableItems()
        weapons = self.teamObj.getResearchableWeapons()
        units = self.teamObj.getResearchableUnits()

        #nomad/scav can't be researched
        units.insert(0, None)

        medic = units.pop(3)
        #medic gets its own row
        mt = [
            go for go in weapons[0]
            if go.getValue("requirement1") == medic.getName()
        ]

        #hunting bow needs a place holder
        if self.teamObj.getRace() == "human":
            weapons[0].insert(0, None)

        medictech1 = mt[0]
        medictech2 = None
        #medictech2 = mt[1];

        seige1 = units.pop(3)
        #seige gets its own row
        units.append(None)
        seige2 = units.pop(3)
        units.append(None)

        medicrow = [None, medic, None, medictech1, medictech2]
        seigerow = [None, seige1, seige2, None, None]

        rows = []

        #2.add the header row to the table
        if self.teamObj.getRace() == "human":
            self.table.addRow(*self.header_human)
        elif self.teamObj.getRace() == "beast":
            self.table.addRow(*self.header_beast)

        for i in range(3):
            row = [
                weapons[0][i], weapons[1][i], weapons[2][i], weapons[3][i],
                units[i], seigerow[i], medicrow[i]
            ]
            rows.append(row)
        for i in range(2):
            row = [
                items[0][i], items[1][i], items[2][i], items[3][i],
                units[i + 3], seigerow[i + 3], medicrow[i + 3]
            ]
            rows.append(row)

        self.table.rows[0].setBackgroundColor(tangoGrey2)

        #3. fill in the rest of the table

        for i, row in enumerate(rows):
            for j, obj in enumerate(row):
                #i. convert the object types to widgets
                if obj == None:
                    widget = glass.GlassLabel("")
                else:
                    name = obj.getName()
                    widget = glass.ImageButton(name,
                                               obj.getValue("icon") + ".s2g")
                    widget.setClickAction("commhud.ResearchSimple('" + name +
                                          "');")
                widget.setSize(self.ICON_SIZE, self.ICON_SIZE)
                row[j] = widget

            #ii. add in the level labels
            row = [self.levels[i]] + row
            #iii. then add the rows
            self.table.addRow(*row)

        self.table.adjustSize()
        self.table.adjustJustification()
        self.setSize(self.table.getWidth() + self.PADDING * 3,
                     self.table.getHeight() + 2 + self.PADDING * 3)
        self.setX(commhud.quickbar.getX() + commhud.research.getX() +
                  (commhud.research.getWidth() - self.getWidth()) // 2)
        self.setY(commhud.quickbar.getY() + commhud.research.getY() -
                  self.getHeight() - self.PADDING)
Exemplo n.º 15
0
	
	ammo = glass.GlassLabel("999");
	inventoryContainer.add(ammo);
	ammo.setPosition( slot.getX() , slot.getY() + slot.getHeight() - ammo.getHeight() );
	ammo.setWidth( slot.getWidth() - 2 );
	ammo.setAlignment( glass.Graphics.RIGHT );
	inventoryAmmos.append(ammo);
	
	name = glass.GlassLabel("Placeholder Name");
	inventoryContainer.add(name);
	name.setWidth( slot.getWidth() );
	name.setPosition( slot.getX(), slot.getY() + slot.getHeight() );
	name.setAlignment( glass.Graphics.CENTER );
	inventoryNames.append(name);
	
	button = glass.ImageButton("textures/econs/transparent.s2g");
	inventoryContainer.add(button);
	button.setSize( slot.getWidth(), slot.getHeight());
	button.setPosition( slot.getX(), slot.getY());
	button.setClickAction("CL_RequestGiveback("+str(i)+")");
	

back = glass.GlassButton("Back to Lobby")
back.setClickAction("CL_RequestLobby()")
main.add(back)
back.setPositionPct(.1,.92)

spawn = glass.GlassButton("Spawn")
spawn.setId("spawnbutton");
spawn.setClickAction("CL_RequestSpawn(-1)")
main.add(spawn)
Exemplo n.º 16
0
    def build(self):
        self.clearList()

        self.team = savage.getLocalTeam()
        self.players = []

        self.playerDict = dict()
        i = 0

        for player in self.team.getPlayers():

            if player.isCommander():
                continue

            self.players.append(player)
            i += 1

            unit = glass.GlassLabel()
            unit.setImage(player.getIcon())
            unit.setSize(24, 24)

            name = DefaultLabel(player.getFormattedName())
            #name.setForegroundColor( white );
            #name.setAlignment(2);

            level = DefaultLabel(str(player.getLevel()))
            level.setForegroundColor(tangoBlue)
            #level.setAlignment(2);
            #level.setFont(fontSizeLarge);

            kda = DefaultLabel("^g" + str(player.getKills()) + "^w/^r" +
                               str(player.getDeaths()) + "^w/^l" +
                               str(player.getAssists()))
            #kda.setAlignment(2);
            #kda.setFont(fontSizeLarge);
            #kda.adjustSize();

            request = glass.ImageButton()
            #request.setSize(24,24);
            request.setImage("/gui/main/images/yestr.s2g")
            request.setSize(24, 24)

            officer = glass.ImageButton()
            #officer.setSize(24,24);
            if player.isOfficer():
                officer.setImage("gui/game/images/demote_" +
                                 self.team.getRace() + ".s2g")
                officer.setClickAction("CL_RequestDemote(" +
                                       str(player.objectId) + ")")
            else:
                officer.setImage("gui/game/images/promote_" +
                                 self.team.getRace() + ".s2g")
                officer.setClickAction("CL_RequestPromote(" +
                                       str(player.objectId) + ")")

            officer.setSize(24, 24)

            goldLabel = DefaultLabel(str(player.getGold()))
            goldLabel.setForegroundColor(themeGold)
            #goldLabel.setAlignment(1);

            gold = glass.ImageButton()
            #gold.setSize(24,24);
            gold.setImage("/gui/standard/icons/gold/nl_coins14.s2g")
            gold.setClickAction("CL_RequestGiveGold(" + str(player.objectId) +
                                ", 100)")
            gold.setSize(24, 24)

            row = self.list.nextRow(unit, name, level, kda, request, officer,
                                    goldLabel, gold)

            self.playerDict[
                player.
                objectId] = row  #Store the rows and players in a dict to trace back the widgets

        #self.list.adjustSize();
        #self.setSize(self.list.getWidth() +10, 250);
        #self.list.adjustJustification();
        #self.setSize(self.list.getWidth() +10, 250);
        #self.scroll.setSize(self.getWidth(), self.getHeight());

        self.list.useColumnDividers()
        self.headingRow.setAlternate(False)
        self.list.adjustWidthTo(self.scroll.getWidth() - 10)