diff options
-rw-r--r-- | buildings/building_interface.gd | 1 | ||||
-rw-r--r-- | buildings/buildings.tscn | 44 | ||||
-rw-r--r-- | buildings/dev.gd | 6 | ||||
-rw-r--r-- | buildings/intern.gd | 5 | ||||
-rw-r--r-- | main_scene/coffee_machine.gd | 2 | ||||
-rw-r--r-- | main_scene/hire_button.gd | 6 | ||||
-rw-r--r-- | main_scene/programmers.gd | 1 | ||||
-rw-r--r-- | project.godot | 6 | ||||
-rw-r--r-- | save_state.gd | 11 |
9 files changed, 60 insertions, 22 deletions
diff --git a/buildings/building_interface.gd b/buildings/building_interface.gd index cd12b75..b03d3d1 100644 --- a/buildings/building_interface.gd +++ b/buildings/building_interface.gd @@ -1,4 +1,5 @@ extends Ticked +class_name BuildingInterface export var base_cost := 1.0 export var cost_multiplier := 1.0 diff --git a/buildings/buildings.tscn b/buildings/buildings.tscn index 9a1cc89..809a59f 100644 --- a/buildings/buildings.tscn +++ b/buildings/buildings.tscn @@ -1,7 +1,7 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=8 format=2] -[ext_resource path="res://assets/intern.png" type="Texture" id=1] -[ext_resource path="res://buildings/base_building.tscn" type="PackedScene" id=2] +[ext_resource path="res://buildings/intern.gd" type="Script" id=1] +[ext_resource path="res://assets/intern.png" type="Texture" id=2] [ext_resource path="res://assets/hire.png" type="Texture" id=3] [ext_resource path="res://lib/base_buyable.gd" type="Script" id=4] [ext_resource path="res://buildings/dev.gd" type="Script" id=5] @@ -9,18 +9,14 @@ [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 86.5173, 127.028 ) -[node name="buildings" type="Node2D"] +[sub_resource type="RectangleShape2D" id=2] +extents = Vector2( 84.7312, 127.29 ) -[node name="intern" parent="." instance=ExtResource( 2 )] -position = Vector2( 79.0261, 77.0123 ) -texture = ExtResource( 1 ) -base_cost = 10.0 -cost_multiplier = 1.1 -building_identifier = "intern" +[node name="buildings" type="Node2D"] [node name="dev" type="Sprite" parent="."] position = Vector2( 186.651, 77.0577 ) -scale = Vector2( 0.37123, 0.37123 ) +scale = Vector2( 0.4, 0.4 ) texture = ExtResource( 3 ) script = ExtResource( 5 ) base_cost = 200.0 @@ -41,3 +37,29 @@ margin_bottom = 119.0 __meta__ = { "_edit_use_anchors_": false } + +[node name="intern" type="Sprite" parent="."] +position = Vector2( 66.3232, 78.3818 ) +scale = Vector2( 0.4, 0.4 ) +texture = ExtResource( 2 ) +script = ExtResource( 1 ) +tick_rate = 5.0 +base_cost = 10.0 +cost_multiplier = 1.1 +building_identifier = "intern" + +[node name="Area2D" type="Area2D" parent="intern"] +script = ExtResource( 4 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="intern/Area2D"] +position = Vector2( -30.114, -8.1076 ) +shape = SubResource( 2 ) + +[node name="Label" type="Label" parent="intern"] +margin_left = 3.0 +margin_top = 82.0 +margin_right = 43.0 +margin_bottom = 106.0 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/buildings/dev.gd b/buildings/dev.gd index 1ee4bcd..fababd7 100644 --- a/buildings/dev.gd +++ b/buildings/dev.gd @@ -1,16 +1,16 @@ -extends "res://buildings/building_interface.gd" +extends BuildingInterface var riot := preload("res://riot/riot.tscn") func _tick() -> void: if SaveState.riot_cooldown == 0: - SaveState.coffee -= SaveState.buildings["dev"] + SaveState.coffee -= get_amount() if SaveState.coffee < 0: invoke_riot() SaveState.coffee = 0 else: - SaveState.gain_bitcoin(SaveState.buildings["dev"]) + SaveState.gain_bitcoin(get_amount()) else: SaveState.riot_cooldown -= 1 diff --git a/buildings/intern.gd b/buildings/intern.gd new file mode 100644 index 0000000..cf0029b --- /dev/null +++ b/buildings/intern.gd @@ -0,0 +1,5 @@ +extends BuildingInterface + + +func _tick() -> void: + SaveState.try_gain_coffee(get_amount()) diff --git a/main_scene/coffee_machine.gd b/main_scene/coffee_machine.gd index 86c1ca2..16580e4 100644 --- a/main_scene/coffee_machine.gd +++ b/main_scene/coffee_machine.gd @@ -2,5 +2,5 @@ extends ClickableArea func _click(): - SaveState.coffee +=1 + SaveState.try_gain_coffee(1) diff --git a/main_scene/hire_button.gd b/main_scene/hire_button.gd deleted file mode 100644 index ec56474..0000000 --- a/main_scene/hire_button.gd +++ /dev/null @@ -1,6 +0,0 @@ -extends ClickableArea - -func _click(): - if SaveState.bitcoin >= 100: - SaveState.programmers += 1 - SaveState.bitcoin -= 100 diff --git a/main_scene/programmers.gd b/main_scene/programmers.gd deleted file mode 100644 index 1f5150f..0000000 --- a/main_scene/programmers.gd +++ /dev/null @@ -1 +0,0 @@ -extends Ticked diff --git a/project.godot b/project.godot index 3389e48..f06dea0 100644 --- a/project.godot +++ b/project.godot @@ -19,6 +19,11 @@ _global_script_classes=[ { "language": "GDScript", "path": "res://lib/base_buyable.gd" }, { +"base": "Ticked", +"class": "BuildingInterface", +"language": "GDScript", +"path": "res://buildings/building_interface.gd" +}, { "base": "Area2D", "class": "ClickableArea", "language": "GDScript", @@ -37,6 +42,7 @@ _global_script_classes=[ { _global_script_class_icons={ "AngryDev": "", "BaseBuyable": "", +"BuildingInterface": "", "ClickableArea": "", "Manager": "", "Ticked": "" diff --git a/save_state.gd b/save_state.gd index dd1ecad..a9c8a59 100644 --- a/save_state.gd +++ b/save_state.gd @@ -14,6 +14,17 @@ func gain_bitcoin(amount: int) -> void: func lose_bitcoin(amount: int) -> void: bitcoin -= amount +func try_gain_coffee(amount: int) -> int: + if amount < coffee_beans: + coffee += amount + coffee_beans -= amount + return 0 + + coffee += coffee_beans + var remains = amount - coffee_beans + coffee_beans = 0 + return remains + var coffee = 10 var coffee_beans = 1000 var bitcoin = 100 |