[gd_scene load_steps=6 format=3 uid="uid://c6omib6txy3qh"] [ext_resource type="PackedScene" uid="uid://brbtq46uk18gg" path="res://core/battlefield.tscn" id="1_x63ik"] [ext_resource type="PackedScene" uid="uid://dqaabctftkakr" path="res://core/player.tscn" id="2_o4smw"] [ext_resource type="PackedScene" uid="uid://b8uik6q4v35o3" path="res://tac/units/factory.tscn" id="2_wnc50"] [sub_resource type="GDScript" id="GDScript_8ehhf"] script/source = "extends Camera2D var raw_zoom := 0 func scroll(diff: Vector2): position -= diff func change_zoom(diff: float): raw_zoom = clampf(raw_zoom + diff, -2, 2) var z := pow(2.0, raw_zoom) zoom = Vector2(z, z) " [sub_resource type="GDScript" id="GDScript_0auct"] script/source = "extends Control signal scrolled(diff) signal zoomed(diff) func _gui_input(event): if event is InputEventMouseMotion: if event.button_mask & MOUSE_BUTTON_LEFT: scrolled.emit(event.relative) if event is InputEventMouseButton and event.pressed: if event.button_index == MOUSE_BUTTON_WHEEL_UP: zoomed.emit(signf(event.factor)) elif event.button_index == MOUSE_BUTTON_WHEEL_DOWN: zoomed.emit(-signf(event.factor)) " [node name="main" type="Node2D"] [node name="camera" type="Camera2D" parent="."] position = Vector2(640, 360) current = true smoothing_enabled = true script = SubResource("GDScript_8ehhf") [node name="battlefield" parent="." instance=ExtResource("1_x63ik")] [node name="player1" parent="battlefield" instance=ExtResource("2_o4smw")] color = Color(0, 0, 1, 1) code = "p1" [node name="player2" parent="battlefield" instance=ExtResource("2_o4smw")] color = Color(1, 0, 0, 1) code = "p2" [node name="factory1" parent="battlefield" node_paths=PackedStringArray("player") instance=ExtResource("2_wnc50")] position = Vector2(270, 222) player = NodePath("../player1") [node name="factory2" parent="battlefield" node_paths=PackedStringArray("player") instance=ExtResource("2_wnc50")] position = Vector2(929, 429) player = NodePath("../player2") [node name="ui" type="CanvasLayer" parent="."] [node name="camcontrol" type="Control" parent="ui"] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 3 size_flags_vertical = 3 mouse_force_pass_scroll_events = false script = SubResource("GDScript_0auct") [connection signal="scrolled" from="ui/camcontrol" to="camera" method="scroll"] [connection signal="zoomed" from="ui/camcontrol" to="camera" method="change_zoom"]