diff --git a/source/assets/scripts/server_handlers/global.gd b/source/assets/scripts/server_handlers/global.gd index af8b93c..a417131 100644 --- a/source/assets/scripts/server_handlers/global.gd +++ b/source/assets/scripts/server_handlers/global.gd @@ -4,12 +4,9 @@ var player_master = null var ui = null var alive_players = [] var player -var line_button -var sine_button -var parab_button -var hyper_button var global var control +var user_input var clientPhase = { "0": { diff --git a/source/assets/scripts/shooting/Hyperbola/Hyperbolic_Barrel.gd b/source/assets/scripts/shooting/Hyperbola/Hyperbolic_Barrel.gd index 7d53e79..7eb495f 100644 --- a/source/assets/scripts/shooting/Hyperbola/Hyperbolic_Barrel.gd +++ b/source/assets/scripts/shooting/Hyperbola/Hyperbolic_Barrel.gd @@ -7,8 +7,8 @@ var dot_position = Vector2(0, 0) var x = 10 var time = 0.05 -var a_parameter = 1 -var b_parameter = 1 +var a_parameter = Global.get('user_input').a_param_hyper +var b_parameter = Global.get('user_input').b_param_hyper var pos func _ready(): @@ -16,24 +16,6 @@ func _ready(): -#func _draw(): -# update() -# if pos.x > 0: -# if dot_position.x < 1000: -# velocity.x = 10 -# velocity.y = a_parameter/(time*b_parameter) -# dot_position += velocity * speed_hyper * 0.06944 -# draw_circle(dot_position, 2, Color(225, 225, 225)) -# time += 0.06944 -# if pos.x < 0: -# if dot_position.x < 1000: -# velocity.x = 10 -# velocity.y = -a_parameter/(time*b_parameter) -# dot_position += velocity * speed_hyper * 0.06944 -# draw_circle(dot_position, 2, Color(225, 225, 225)) -# time += 0.06944 - - func trajectory(): while dot_position.x < 1000: if pos.x > 0: diff --git a/source/assets/scripts/shooting/Hyperbola/Hyperbolic_Bullet.gd b/source/assets/scripts/shooting/Hyperbola/Hyperbolic_Bullet.gd index c45bcc6..cc39981 100644 --- a/source/assets/scripts/shooting/Hyperbola/Hyperbolic_Bullet.gd +++ b/source/assets/scripts/shooting/Hyperbola/Hyperbolic_Bullet.gd @@ -4,8 +4,10 @@ export(int) var damage = 25 var velocity = Vector2() var speed_hyper = 100 var time = 0.05 -var a_parameter = 1 -var b_parameter = 1 + +var a_parameter = Global.get('user_input').a_param_hyper +var b_parameter = Global.get('user_input').b_param_hyper + var player_owner = 0 var pos diff --git a/source/assets/scripts/shooting/Line/Line_Barrel.gd b/source/assets/scripts/shooting/Line/Line_Barrel.gd index 84c4c97..4b752ea 100644 --- a/source/assets/scripts/shooting/Line/Line_Barrel.gd +++ b/source/assets/scripts/shooting/Line/Line_Barrel.gd @@ -5,7 +5,7 @@ var velocity = Vector2(0, 0) var dot_position = Vector2(0, 0) var time = 0 -var a_parameter = 0 +var a_parameter = -Global.get('user_input').a_param_line #func _draw(): diff --git a/source/assets/scripts/shooting/Line/Line_Bullet.gd b/source/assets/scripts/shooting/Line/Line_Bullet.gd index f9120d3..50ec70b 100644 --- a/source/assets/scripts/shooting/Line/Line_Bullet.gd +++ b/source/assets/scripts/shooting/Line/Line_Bullet.gd @@ -6,10 +6,12 @@ var velocity = Vector2() var player_owner = 0 var time = 0 -var a_parameter = 0 +var a_parameter = 0 + func follow_line_trajectory(): + a_parameter = -Global.get('user_input').a_param_line velocity.x = time velocity.y = time*a_parameter diff --git a/source/assets/scripts/shooting/Parabola/Parabolic_Barrel.gd b/source/assets/scripts/shooting/Parabola/Parabolic_Barrel.gd index 7dae485..20f1121 100644 --- a/source/assets/scripts/shooting/Parabola/Parabolic_Barrel.gd +++ b/source/assets/scripts/shooting/Parabola/Parabolic_Barrel.gd @@ -5,8 +5,8 @@ var velocity = Vector2(0, 0) var dot_position = Vector2(0, 0) var time = 0 -var a_parameter = 1 -var b_parameter = 0 +var a_parameter = -Global.get('user_input').a_param_parab +var b_parameter = Global.get('user_input').b_param_parab var pos_diff = [] @@ -14,25 +14,8 @@ var pos func _ready(): pos = Global.get("player").get_node('weaponHolder/Player-character-theme-gun').position -#func _draw(): -# if pos.x > 0: -# if dot_position.x < 1000: -# velocity.y = time*(a_parameter * time + b_parameter) -# velocity.x = 5 -# dot_position += velocity * speed_parab * 0.06944 -# draw_circle(dot_position, 2, Color(225, 225, 225)) -# time += 0.06944 -# if pos.x < 0: -# if dot_position.x < 1000: -# velocity.y = -time*(a_parameter * time + b_parameter) -# velocity.x = 5 -# dot_position += velocity * speed_parab * 0.06944 -# draw_circle(dot_position, 2, Color(225, 225, 225)) -# time += 0.06944 -# func trajectory(): - clear_points() while dot_position.x < 1000: if pos.x > 0: add_point(dot_position) diff --git a/source/assets/scripts/shooting/Parabola/Parabolic_Bullet.gd b/source/assets/scripts/shooting/Parabola/Parabolic_Bullet.gd index 582455f..02d623c 100644 --- a/source/assets/scripts/shooting/Parabola/Parabolic_Bullet.gd +++ b/source/assets/scripts/shooting/Parabola/Parabolic_Bullet.gd @@ -6,8 +6,8 @@ var velocity = Vector2() var player_owner = 0 var time = 0 -var a_parameter = 1 -var b_parameter = 0 +var a_parameter = -Global.get('user_input').a_param_parab +var b_parameter = Global.get('user_input').b_param_parab var pos func _ready(): diff --git a/source/assets/scripts/shooting/Sine/Sine_Barrel.gd b/source/assets/scripts/shooting/Sine/Sine_Barrel.gd index a37190a..58c7de8 100644 --- a/source/assets/scripts/shooting/Sine/Sine_Barrel.gd +++ b/source/assets/scripts/shooting/Sine/Sine_Barrel.gd @@ -6,8 +6,8 @@ var velocity = Vector2(0, 0) var dot_position = Vector2(0, 0) var time = 0 -export var amplitude = 4 -export var frequency = 5 +var amplitude = Global.get('user_input').amp +var frequency = Global.get('user_input').freq #func _draw(): diff --git a/source/assets/scripts/shooting/Sine/Sine_Bullet.gd b/source/assets/scripts/shooting/Sine/Sine_Bullet.gd index 821963b..8ccdc41 100644 --- a/source/assets/scripts/shooting/Sine/Sine_Bullet.gd +++ b/source/assets/scripts/shooting/Sine/Sine_Bullet.gd @@ -6,8 +6,8 @@ var velocity = Vector2() var player_owner = 0 var time = 0 -export var amplitude = 4 -export var frequency = 5 +var amplitude = Global.get('user_input').amp +var frequency = Global.get('user_input').freq func follow_sine_trajectory(): velocity.y = amplitude * cos(time * frequency) diff --git a/source/entities/shooting/Sine_Trajectory/Sine_Bullet.tscn b/source/entities/shooting/Sine_Trajectory/Sine_Bullet.tscn index 52075ae..be4845b 100644 --- a/source/entities/shooting/Sine_Trajectory/Sine_Bullet.tscn +++ b/source/entities/shooting/Sine_Trajectory/Sine_Bullet.tscn @@ -7,15 +7,11 @@ radius = 9.85811 height = 35.0082 -[node name="player_character_bullet" type="Sprite" groups=[ -"Net", -]] +[node name="player_character_bullet" type="Sprite" groups=["Net"]] texture = ExtResource( 1 ) script = ExtResource( 2 ) -[node name="hitbox" type="Area2D" parent="." groups=[ -"Player_damager", -]] +[node name="hitbox" type="Area2D" parent="." groups=["Player_damager"]] [node name="CollisionShape2D" type="CollisionShape2D" parent="hitbox"] position = Vector2( 10.8253, -0.381073 ) diff --git a/source/scenes/OVERLAY/elements/Trajectory_Control.gd b/source/scenes/OVERLAY/elements/Trajectory_Control.gd index 222b837..be75fba 100644 --- a/source/scenes/OVERLAY/elements/Trajectory_Control.gd +++ b/source/scenes/OVERLAY/elements/Trajectory_Control.gd @@ -1,9 +1,5 @@ extends Control -var on_line_pressed = false -var on_sine_pressed = false -var on_parab_pressed = false -var on_hyper_pressed = false func _ready(): Global.set('control', self) @@ -11,24 +7,40 @@ func _ready(): func _on_line_pressed(): + Global.get('user_input').get_node('line').visible = true + Global.get('user_input').get_node('parabol').visible = false + Global.get('user_input').get_node('hyperbol').visible = false + Global.get('user_input').get_node('sin').visible = false Global.get('player').enable_trajectory_line('line') Global.get('player').trajectory = 'line' pass # Replace with function body. func _on_parabol_pressed(): + Global.get('user_input').get_node('parabol').visible = true + Global.get('user_input').get_node('line').visible = false + Global.get('user_input').get_node('hyperbol').visible = false + Global.get('user_input').get_node('sin').visible = false Global.get('player').enable_trajectory_line('parab') Global.get('player').trajectory = 'parab' pass # Replace with function body. func _on_hyperbol_pressed(): + Global.get('user_input').get_node('hyperbol').visible = true + Global.get('user_input').get_node('sin').visible = false + Global.get('user_input').get_node('line').visible = false + Global.get('user_input').get_node('parabol').visible = false Global.get('player').enable_trajectory_line('hyper') Global.get('player').trajectory = 'hyper' pass # Replace with function body. func _on_sine_pressed(): + Global.get('user_input').get_node('sin').visible = true + Global.get('user_input').get_node('line').visible = false + Global.get('user_input').get_node('hyperbol').visible = false + Global.get('user_input').get_node('parabol').visible = false Global.get('player').enable_trajectory_line('sine') Global.get('player').trajectory = 'sine' pass # Replace with function body. diff --git a/source/scenes/OVERLAY/elements/trajectories.gd b/source/scenes/OVERLAY/elements/trajectories.gd index 49abbc9..f8b4f42 100644 --- a/source/scenes/OVERLAY/elements/trajectories.gd +++ b/source/scenes/OVERLAY/elements/trajectories.gd @@ -2,15 +2,69 @@ extends Control var a_param_line = 0 +var a_param_parab = 1 +var b_param_parab = 0 + +var a_param_hyper = 1 +var b_param_hyper = 1 + +var freq = 5 +var amp = 5 + # Called when the node enters the scene tree for the first time. func _ready(): + Global.set('user_input', self) pass # Replace with function body. func _on_LineEdit_text_entered(new_text): - a_param_line = new_text + a_param_line = int(new_text) Global.get('player').enable_trajectory_line('line') Global.get('player').trajectory = 'line' pass # Replace with function body. + + +func _on_a_param_LineEdit_text_entered(new_text): + a_param_parab = int(new_text) + Global.get('player').enable_trajectory_line('parab') + Global.get('player').trajectory = 'parab' + pass # Replace with function body. + + +func _on_b_param_LineEdit_text_entered(new_text): + b_param_parab = int(new_text) + Global.get('player').enable_trajectory_line('parab') + Global.get('player').trajectory = 'parab' + pass # Replace with function body. + + +func _on_a_param_h_LineEdit_text_entered(new_text): + a_param_hyper = int(new_text) + Global.get('player').enable_trajectory_line('hyper') + Global.get('player').trajectory = 'hyper' + pass # Replace with function body. + + +func _on_b_param_h_LineEdit_text_entered(new_text): + b_param_hyper = int(new_text) + if b_param_hyper != 0: + Global.get('player').enable_trajectory_line('hyper') + Global.get('player').trajectory = 'hyper' + + pass # Replace with function body. + + +func _on_amp_text_entered(new_text): + amp = int(new_text) + Global.get('player').enable_trajectory_line('sine') + Global.get('player').trajectory = 'sine' + pass # Replace with function body. + + +func _on_freq_text_entered(new_text): + freq = int(new_text) + Global.get('player').enable_trajectory_line('sine') + Global.get('player').trajectory = 'sine' + pass # Replace with function body. diff --git a/source/scenes/OVERLAY/elements/user_input.tscn b/source/scenes/OVERLAY/elements/user_input.tscn index c394ff9..e21bd46 100644 --- a/source/scenes/OVERLAY/elements/user_input.tscn +++ b/source/scenes/OVERLAY/elements/user_input.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=25 format=2] +[gd_scene load_steps=26 format=2] [ext_resource path="res://source/assets/sprites/GUI/in_game/user_input/background_panel.svg" type="Texture" id=1] [ext_resource path="res://source/fonts/oxygen/Oxygen-Regular.ttf" type="DynamicFontData" id=2] @@ -13,6 +13,7 @@ [ext_resource path="res://source/assets/sprites/GUI/in_game/user_input/ready_button/ready_button_hover.svg" type="Texture" id=11] [ext_resource path="res://source/assets/sprites/GUI/in_game/user_input/skip_button/skip_button.svg" type="Texture" id=12] [ext_resource path="res://source/scenes/OVERLAY/elements/trajectories.gd" type="Script" id=13] +[ext_resource path="res://icon.png" type="Texture" id=14] [sub_resource type="StyleBoxTexture" id=1] texture = ExtResource( 1 ) @@ -73,6 +74,7 @@ font_data = ExtResource( 2 ) [node name="user_input" type="Panel"] margin_right = 480.0 margin_bottom = 156.0 +mouse_filter = 1 custom_styles/panel = SubResource( 1 ) __meta__ = { "_edit_lock_": true, @@ -86,12 +88,14 @@ margin_left = 50.0 margin_top = 28.0 margin_right = -330.0 margin_bottom = -28.0 +mouse_filter = 1 script = ExtResource( 13 ) __meta__ = { "_edit_use_anchors_": false } [node name="line" type="Panel" parent="trajectories"] +visible = false anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 @@ -100,6 +104,7 @@ margin_left = -50.0 margin_top = -50.0 margin_right = 50.0 margin_bottom = 50.0 +mouse_filter = 1 custom_styles/panel = SubResource( 2 ) __meta__ = { "_edit_lock_": true, @@ -126,12 +131,13 @@ __meta__ = { } [node name="LineEdit" type="LineEdit" parent="trajectories/line"] -margin_left = 205.0 -margin_top = 35.0 -margin_right = 263.0 -margin_bottom = 59.0 -max_length = 2 -placeholder_text = "a" +margin_left = 206.0 +margin_top = 12.0 +margin_right = 288.0 +margin_bottom = 78.0 +focus_mode = 1 +mouse_filter = 1 +max_length = 3 __meta__ = { "_edit_use_anchors_": false } @@ -155,6 +161,7 @@ margin_left = -50.0 margin_top = -50.0 margin_right = 50.0 margin_bottom = 50.0 +mouse_filter = 1 custom_styles/panel = SubResource( 4 ) __meta__ = { "_edit_lock_": true, @@ -180,6 +187,41 @@ __meta__ = { "_edit_use_anchors_": false } +[node name="x^2 label" type="Label" parent="trajectories/parabol"] +margin_left = 256.0 +margin_top = 41.0 +margin_right = 296.0 +margin_bottom = 55.0 +text = "x^2 +" + +[node name="a_param_LineEdit" type="LineEdit" parent="trajectories/parabol"] +margin_left = 193.0 +margin_top = 35.0 +margin_right = 251.0 +margin_bottom = 59.0 +focus_mode = 1 +max_length = 3 + +[node name="b_param_LineEdit" type="LineEdit" parent="trajectories/parabol"] +margin_left = 293.0 +margin_top = 36.0 +margin_right = 351.0 +margin_bottom = 60.0 +focus_mode = 1 +max_length = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="x_label" type="Label" parent="trajectories/parabol"] +margin_left = 340.0 +margin_top = 41.0 +margin_right = 380.0 +margin_bottom = 55.0 +text = "x" +align = 1 +valign = 1 + [node name="hyperbol" type="Panel" parent="trajectories"] visible = false anchor_left = 0.5 @@ -215,6 +257,35 @@ __meta__ = { "_edit_use_anchors_": false } +[node name="a_param_h_LineEdit" type="LineEdit" parent="trajectories/hyperbol"] +margin_left = 225.0 +margin_top = 13.0 +margin_right = 283.0 +margin_bottom = 37.0 +focus_mode = 1 +max_length = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="b_param_h_LineEdit" type="LineEdit" parent="trajectories/hyperbol"] +margin_left = 211.0 +margin_top = 45.0 +margin_right = 269.0 +margin_bottom = 69.0 +focus_mode = 1 +max_length = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Sprite" type="Sprite" parent="trajectories/hyperbol"] +modulate = Color( 0, 0, 0, 1 ) +self_modulate = Color( 0, 0, 0, 1 ) +position = Vector2( 254, 41 ) +scale = Vector2( 0.0401042, 0.00260416 ) +texture = ExtResource( 14 ) + [node name="sin" type="Panel" parent="trajectories"] visible = false anchor_left = 0.5 @@ -250,6 +321,46 @@ __meta__ = { "_edit_use_anchors_": false } +[node name="x_label" type="Label" parent="trajectories/sin"] +margin_left = 341.0 +margin_top = 37.0 +margin_right = 381.0 +margin_bottom = 51.0 +text = "x)" +align = 1 +valign = 1 + +[node name="amp" type="LineEdit" parent="trajectories/sin"] +margin_left = 204.0 +margin_top = 33.0 +margin_right = 262.0 +margin_bottom = 57.0 +focus_mode = 1 +max_length = 3 + +[node name="freq" type="LineEdit" parent="trajectories/sin"] +margin_left = 291.0 +margin_top = 33.0 +margin_right = 349.0 +margin_bottom = 57.0 +focus_mode = 1 +max_length = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="sin()" type="Label" parent="trajectories/sin"] +margin_left = 255.0 +margin_top = 37.0 +margin_right = 295.0 +margin_bottom = 51.0 +text = "sin(" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + [node name="Func_Label" type="Label" parent="trajectories"] margin_left = 121.0 margin_top = 28.0 @@ -267,6 +378,7 @@ margin_left = 165.0 margin_top = 13.0 margin_right = 465.0 margin_bottom = 143.0 +mouse_filter = 2 __meta__ = { "_edit_use_anchors_": false } @@ -328,3 +440,9 @@ align = 1 valign = 1 [connection signal="text_entered" from="trajectories/line/LineEdit" to="trajectories" method="_on_LineEdit_text_entered"] +[connection signal="text_entered" from="trajectories/parabol/a_param_LineEdit" to="trajectories" method="_on_a_param_LineEdit_text_entered"] +[connection signal="text_entered" from="trajectories/parabol/b_param_LineEdit" to="trajectories" method="_on_b_param_LineEdit_text_entered"] +[connection signal="text_entered" from="trajectories/hyperbol/a_param_h_LineEdit" to="trajectories" method="_on_a_param_h_LineEdit_text_entered"] +[connection signal="text_entered" from="trajectories/hyperbol/b_param_h_LineEdit" to="trajectories" method="_on_b_param_h_LineEdit_text_entered"] +[connection signal="text_entered" from="trajectories/sin/amp" to="trajectories" method="_on_amp_text_entered"] +[connection signal="text_entered" from="trajectories/sin/freq" to="trajectories" method="_on_freq_text_entered"]