take off silencing WIP; fixes for blufor; fixed SAMs commision on samless campaigns

This commit is contained in:
Vasyl Horbachenko
2018-06-26 03:31:29 +03:00
parent 0b2e76e12b
commit c329c806df
11 changed files with 84 additions and 28 deletions

View File

@@ -25,8 +25,8 @@ class BaseMenu(Menu):
Label(self.frame, text="{}".format(db.unit_type_name(unit_type))).grid(row=row, sticky=W)
Label(self.frame, text="({})".format(existing_units)).grid(column=1, row=row)
Label(self.frame, text="{}m {}".format(unit_price, scheduled_units and "(bought {})".format(scheduled_units) or "")).grid(column=2, row=row)
Button(self.frame, text="Buy", command=self.buy(unit_type)).grid(column=3, row=row)
Button(self.frame, text="Sell", command=self.sell(unit_type)).grid(column=4, row=row)
Button(self.frame, text="+", command=self.buy(unit_type)).grid(column=3, row=row)
Button(self.frame, text="-", command=self.sell(unit_type)).grid(column=4, row=row)
row += 1
units = {
@@ -38,7 +38,7 @@ class BaseMenu(Menu):
}
Label(self.frame, text="Budget: {}m".format(self.game.budget)).grid(row=row, sticky=W)
Button(self.frame, text="Back", command=self.dismiss).grid(column=2, row=row)
Button(self.frame, text="Back", command=self.dismiss).grid(column=4, row=row)
row += 1
for task_type, units in units.items():
@@ -62,7 +62,7 @@ class BaseMenu(Menu):
self.event.deliver({unit_type: 1})
self.game.budget -= price
self.display()
#self.display()
return action
@@ -76,6 +76,6 @@ class BaseMenu(Menu):
price = db.PRICES[unit_type]
self.game.budget += price
self.base.commit_losses({unit_type: 1})
self.display()
#self.display()
return action

View File

@@ -8,6 +8,7 @@ class NewGameMenu(Menu):
selected_country = None # type: IntVar
selected_terrain = None # type: IntVar
sams = None
midgame = None
multiplier = None
def __init__(self, window: Window, callback: typing.Callable):
@@ -27,6 +28,9 @@ class NewGameMenu(Menu):
self.multiplier = StringVar()
self.multiplier.set("1")
self.midgame = BooleanVar()
self.midgame.set(0)
@property
def player_country_name(self):
if self.selected_country.get() == 0:
@@ -64,6 +68,7 @@ class NewGameMenu(Menu):
Label(self.frame, text="Options").grid(row=1, column=2)
Checkbutton(self.frame, text="SAMs", variable=self.sams).grid(row=1, column=2)
Checkbutton(self.frame, text="Mid game", variable=self.midgame).grid(row=2, column=2)
Label(self.frame, text="Multiplier").grid(row=0, column=3)
Entry(self.frame, textvariable=self.multiplier).grid(row=1, column=3)
@@ -75,4 +80,5 @@ class NewGameMenu(Menu):
self.enemy_country_name,
self.terrain_name,
bool(self.sams.get()),
bool(self.midgame.get()),
float(self.multiplier.get()))

View File

@@ -51,6 +51,12 @@ class OverviewCanvas:
id = self.canvas.create_text(coords[0], coords[1], text=title, font=font)
self.canvas.tag_bind(id, "<Button-1>", self.display(cp))
def _player_color(self):
return self.game.player == "USA" and "blue" or "red"
def _enemy_color(self):
return self.game.player == "USA" and "red" or "blue"
def update(self):
self.canvas.delete(ALL)
self.canvas.create_image((self.image.width()/2, self.image.height()/2), image=self.image)
@@ -60,9 +66,9 @@ class OverviewCanvas:
for connected_cp in cp.connected_points:
connected_coords = self.transform_point(connected_cp.position)
if connected_cp.captured != cp.captured:
color = "red"
color = self._enemy_color()
elif connected_cp.captured and cp.captured:
color = "blue"
color = self._player_color()
else:
color = "black"
@@ -73,7 +79,11 @@ class OverviewCanvas:
arc_size = 22 * math.pow(cp.importance, 1)
extent = max(cp.base.strength * 180, 10)
start = (180 - extent) / 2
color = cp.captured and 'blue' or 'red'
if cp.captured:
color = self._player_color()
else:
color = self._enemy_color()
cp_id = self.canvas.create_arc((coords[0] - arc_size/2, coords[1] - arc_size/2),
(coords[0]+arc_size/2, coords[1]+arc_size/2),