mirror of
https://github.com/tonytins/citylimits
synced 2025-12-17 05:34:42 -05:00
Menu sprites from Micropolis
- Removed UI from ZC's Dress Up (may return in a later time) - Power stations - Simplified UI - Time now works - Income and expenses
This commit is contained in:
parent
0b60335591
commit
8170b69b7a
400 changed files with 1888 additions and 4809 deletions
|
|
@ -1,24 +1,24 @@
|
|||
extends KinematicBody2D
|
||||
|
||||
signal grabbed
|
||||
signal power
|
||||
|
||||
export var cost: int = 10000
|
||||
export var income: int
|
||||
export var expense: int
|
||||
enum IsPowerStation {TRUE, FALSE}
|
||||
export(IsPowerStation) var power_station = IsPowerStation.FALSE
|
||||
|
||||
onready var zone = $Sprite
|
||||
onready var quarters = $Quarters
|
||||
onready var player = $AnimationPlayer
|
||||
onready var animator = $AnimationPlayer
|
||||
|
||||
var can_grab = false
|
||||
var is_powered = false
|
||||
var grabbed_offset = Vector2()
|
||||
|
||||
func _ready():
|
||||
SimEvents.connect("pay_expense", self, "_get_expense")
|
||||
SimEvents.connect("budget", self, "_get_budget")
|
||||
SimEvents.connect("has_power", self, "_power_zone")
|
||||
connect("grabbed", self, "_grab_zone")
|
||||
connect("power", self, "_power_zone")
|
||||
|
||||
func _input(event):
|
||||
if event is InputEventMouseButton and can_grab:
|
||||
|
|
@ -29,35 +29,36 @@ func _input(event):
|
|||
# Substract from the player's budget
|
||||
if SimData.budget >= cost:
|
||||
SimData.budget -= cost
|
||||
|
||||
if power_station == IsPowerStation.TRUE:
|
||||
SimEvents.emit_signal("has_power")
|
||||
|
||||
func _process(delta):
|
||||
if can_grab:
|
||||
position = get_global_mouse_position() + grabbed_offset
|
||||
|
||||
if not is_powered:
|
||||
quarters.stop()
|
||||
else:
|
||||
if SimData.has_power and can_grab == false:
|
||||
quarters.start()
|
||||
|
||||
_animante_sprite()
|
||||
else:
|
||||
quarters.stop()
|
||||
_animante_sprite(false)
|
||||
|
||||
func _animante_sprite(animante: bool = true):
|
||||
if zone.hframes > 1 or zone.vframes > 1 and animante:
|
||||
animator.play("Animante")
|
||||
else:
|
||||
animator.stop()
|
||||
|
||||
func _grab_zone():
|
||||
can_grab = true
|
||||
|
||||
func _power_zone():
|
||||
quarters.start()
|
||||
player.play("Animante")
|
||||
SimData.has_power = true
|
||||
|
||||
func _on_Quarters_timeout():
|
||||
if SimData.prev_quarter == 4:
|
||||
if SimData.budget >= expense:
|
||||
SimData.budget -= expense
|
||||
func _get_budget():
|
||||
if SimData.budget >= expense:
|
||||
SimData.budget -= expense
|
||||
|
||||
if SimData.budget >= income:
|
||||
SimData.budget += income
|
||||
|
||||
SimData.year += 1
|
||||
SimData.emit_signal("one_time_zone")
|
||||
SimData.emit_signal("pay_expense")
|
||||
|
||||
SimData.prev_quarter = SimData.quarter
|
||||
|
||||
quarters.start()
|
||||
if SimData.budget >= income:
|
||||
SimData.budget += income
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue