Multiplayer fixes and UI update
This commit is contained in:
parent
7a383e432c
commit
d9e05e12df
15
Main.gd
15
Main.gd
|
@ -13,6 +13,7 @@ var rectangle_opacity = 1
|
|||
const BADDIE_WAIT_TIME_DEFAULT = 5
|
||||
|
||||
func _ready():
|
||||
$ColorRect.visible = true
|
||||
var mainmenu = preload("res://MainMenu.tscn").instance()
|
||||
add_child(mainmenu)
|
||||
mainmenu.connect("multiplayer_menu", self, "_open_multiplayer_menu")
|
||||
|
@ -80,20 +81,20 @@ func BaddieTimer():
|
|||
|
||||
total_bads_spawned += 1
|
||||
if $BaddieTimer.wait_time > 0.5:
|
||||
$BaddieTimer.wait_time = $BaddieTimer.wait_time * 0.99
|
||||
$BaddieTimer.wait_time = $BaddieTimer.wait_time * 0.975
|
||||
if total_bads_spawned == a_round_of_bads:
|
||||
bad_health_multi *= 1.5
|
||||
|
||||
badposition.x = 1200
|
||||
badposition.y = (randi()%410) + 50
|
||||
if get_tree().is_network_server():
|
||||
rpc("spawnBad", bad_type, badposition)
|
||||
rpc("spawnBad", bad_type, badposition, bad_health_multi)
|
||||
else:
|
||||
spawnBad(bad_type, badposition)
|
||||
spawnBad(bad_type, badposition, bad_health_multi)
|
||||
else:
|
||||
total_bads_spawned = 0
|
||||
|
||||
sync func spawnBad(bad_type, position): ### sync func ?
|
||||
sync func spawnBad(bad_type, position, health_multi): ### sync func ?
|
||||
var bad
|
||||
if bad_type == 0:
|
||||
bad = FirstBad.instance()
|
||||
|
@ -104,7 +105,7 @@ sync func spawnBad(bad_type, position): ### sync func ?
|
|||
|
||||
add_child(bad)
|
||||
bad.connect("dead", self, "_on_bad_death")
|
||||
bad.health_multi = bad_health_multi
|
||||
bad.health_multi = health_multi
|
||||
bad.position = position
|
||||
|
||||
func _on_PauseButton_pressed():
|
||||
|
@ -150,6 +151,10 @@ func _input(event):
|
|||
else:
|
||||
touchy_shooty = true
|
||||
|
||||
func other_shooting_upgrade(id, other_bullet_delay):
|
||||
prints("Other player shooting speed upgrade")
|
||||
$OtherPlayer.timer.set_wait_time(other_bullet_delay)
|
||||
|
||||
func _on_Player_multiplayer_movement(id, position, is_shooting):
|
||||
$OtherPlayer.visible = true
|
||||
$OtherPlayer.username = str(id)
|
||||
|
|
|
@ -27,7 +27,7 @@ animations = [ {
|
|||
"speed": 5.0
|
||||
} ]
|
||||
|
||||
[node name="Main" type="Node"]
|
||||
[node name="Main" type="Node" index="0"]
|
||||
|
||||
script = ExtResource( 1 )
|
||||
_sections_unfolded = [ "Pause" ]
|
||||
|
@ -146,6 +146,7 @@ align = 1
|
|||
|
||||
[node name="ColorRect" type="ColorRect" parent="." index="7"]
|
||||
|
||||
visible = false
|
||||
anchor_left = 0.0
|
||||
anchor_top = 0.0
|
||||
anchor_right = 0.0
|
||||
|
@ -159,6 +160,7 @@ mouse_default_cursor_shape = 0
|
|||
size_flags_horizontal = 1
|
||||
size_flags_vertical = 1
|
||||
color = Color( 0, 0, 0, 1 )
|
||||
_sections_unfolded = [ "Visibility" ]
|
||||
|
||||
[node name="Pause" type="AnimatedSprite" parent="." index="8"]
|
||||
|
||||
|
@ -176,12 +178,12 @@ _sections_unfolded = [ "Transform", "Visibility" ]
|
|||
|
||||
[connection signal="multiplayer_movement" from="Player" to="." method="_on_Player_multiplayer_movement"]
|
||||
|
||||
[connection signal="other_shooting_upgrade" from="Player" to="." method="other_shooting_upgrade"]
|
||||
|
||||
[connection signal="restart_game" from="Player" to="." method="_on_Player_restart_game"]
|
||||
|
||||
[connection signal="restart_game" from="Player" to="Mothership" method="_on_Player_restart_game"]
|
||||
|
||||
[connection signal="shooting_speed_upgrade" from="Player" to="." method="_on_Player_shooting_speed_upgrade"]
|
||||
|
||||
[connection signal="update_display" from="Player" to="." method="_on_Player_update_display"]
|
||||
|
||||
[connection signal="timeout" from="BaddieTimer" to="." method="BaddieTimer"]
|
||||
|
|
|
@ -31,6 +31,9 @@ func _on_Server_pressed():
|
|||
$EnterIP.visible = false
|
||||
$ServerEntry.visible = false
|
||||
$ServerAcceptIcon.visible = false
|
||||
$ConnectTo.visible = true
|
||||
$StartServer.visible = false
|
||||
$Server.visible = false
|
||||
|
||||
func _on_Client_pressed():
|
||||
server_ip = $ServerEntry.text
|
||||
|
@ -68,6 +71,7 @@ remote func register_player(id, info):
|
|||
rpc_id(id, "register_player", peer_id, player_info[peer_id])
|
||||
prints(player_info[id], id)
|
||||
emit_signal("player_info", player_info)
|
||||
prints(player_info)
|
||||
|
||||
# Call function to update lobby UI here
|
||||
|
||||
|
@ -97,6 +101,7 @@ func _on_BackToMain_pressed():
|
|||
$StartServer.visible = false
|
||||
$ServerAcceptIcon.visible = false
|
||||
$EnterIP.visible = false
|
||||
$ConnectTo.visible = false
|
||||
|
||||
func _on_UsernameEntry_text_changed(new_text):
|
||||
my_info = {name = new_text, color = my_info.color}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=15 format=2]
|
||||
[gd_scene load_steps=17 format=2]
|
||||
|
||||
[ext_resource path="res://Networking.gd" type="Script" id=1]
|
||||
[ext_resource path="res://art/multiplayer_menu/start_server.png" type="Texture" id=2]
|
||||
|
@ -6,6 +6,7 @@
|
|||
[ext_resource path="res://art/multiplayer_menu/back.png" type="Texture" id=4]
|
||||
[ext_resource path="res://art/multiplayer_menu/checkmark.png" type="Texture" id=5]
|
||||
[ext_resource path="res://art/multiplayer_menu/enter_ip.png" type="Texture" id=6]
|
||||
[ext_resource path="res://art/multiplayer_menu/connect_to.png" type="Texture" id=7]
|
||||
|
||||
[sub_resource type="BitmapFont" id=1]
|
||||
|
||||
|
@ -79,7 +80,16 @@ animations = [ {
|
|||
"speed": 5.0
|
||||
} ]
|
||||
|
||||
[node name="Networking" type="Node" index="0"]
|
||||
[sub_resource type="SpriteFrames" id=9]
|
||||
|
||||
animations = [ {
|
||||
"frames": [ ExtResource( 7 ) ],
|
||||
"loop": true,
|
||||
"name": "default",
|
||||
"speed": 5.0
|
||||
} ]
|
||||
|
||||
[node name="Networking" type="Node"]
|
||||
|
||||
pause_mode = 2
|
||||
script = ExtResource( 1 )
|
||||
|
@ -281,7 +291,6 @@ animation = "default"
|
|||
|
||||
[node name="ServerIP" type="Label" parent="." index="9"]
|
||||
|
||||
visible = false
|
||||
anchor_left = 0.0
|
||||
anchor_top = 0.0
|
||||
anchor_right = 0.0
|
||||
|
@ -385,6 +394,14 @@ frames = SubResource( 8 )
|
|||
animation = "default"
|
||||
_sections_unfolded = [ "Transform" ]
|
||||
|
||||
[node name="ConnectTo" type="AnimatedSprite" parent="." index="16"]
|
||||
|
||||
visible = false
|
||||
position = Vector2( 788.86, 170.073 )
|
||||
scale = Vector2( 0.553802, 0.553802 )
|
||||
frames = SubResource( 9 )
|
||||
animation = "default"
|
||||
|
||||
[connection signal="pressed" from="Client" to="." method="_on_Client_pressed"]
|
||||
|
||||
[connection signal="pressed" from="Name" to="." method="_on_Name_pressed"]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[ext_resource path="res://art/player/Rocket1.png" type="Texture" id=2]
|
||||
[ext_resource path="res://art/player/Rocket2.png" type="Texture" id=3]
|
||||
|
||||
[sub_resource type="GDScript" id=3]
|
||||
[sub_resource type="GDScript" id=1]
|
||||
|
||||
script/source = "extends Area2D
|
||||
|
||||
|
@ -129,7 +129,7 @@ func shoot():
|
|||
timer.start()"
|
||||
_sections_unfolded = [ "Resource" ]
|
||||
|
||||
[sub_resource type="SpriteFrames" id=1]
|
||||
[sub_resource type="SpriteFrames" id=2]
|
||||
|
||||
animations = [ {
|
||||
"frames": [ ExtResource( 2 ), ExtResource( 3 ) ],
|
||||
|
@ -138,13 +138,13 @@ animations = [ {
|
|||
"speed": 15.0
|
||||
} ]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id=2]
|
||||
[sub_resource type="CapsuleShape2D" id=3]
|
||||
|
||||
custom_solver_bias = 0.0
|
||||
radius = 12.8998
|
||||
height = 40.4125
|
||||
|
||||
[node name="OtherPlayer" type="Area2D" index="0"]
|
||||
[node name="OtherPlayer" type="Area2D"]
|
||||
|
||||
input_pickable = true
|
||||
gravity_point = true
|
||||
|
@ -156,7 +156,7 @@ collision_layer = 29
|
|||
collision_mask = 29
|
||||
audio_bus_override = false
|
||||
audio_bus_name = "Master"
|
||||
script = SubResource( 3 )
|
||||
script = SubResource( 1 )
|
||||
Laser = ExtResource( 1 )
|
||||
|
||||
[node name="AnimatedSprite" type="AnimatedSprite" parent="." index="0"]
|
||||
|
@ -164,14 +164,14 @@ Laser = ExtResource( 1 )
|
|||
modulate = Color( 0.276855, 0.445152, 0.84375, 1 )
|
||||
position = Vector2( 1.01175, 7.07602 )
|
||||
scale = Vector2( 0.2, 0.2 )
|
||||
frames = SubResource( 1 )
|
||||
frames = SubResource( 2 )
|
||||
animation = "default"
|
||||
_sections_unfolded = [ "Visibility" ]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." index="1"]
|
||||
|
||||
position = Vector2( 45.5518, -3.09424 )
|
||||
shape = SubResource( 2 )
|
||||
shape = SubResource( 3 )
|
||||
|
||||
[node name="Username" type="Label" parent="." index="2"]
|
||||
|
||||
|
|
60
Player.gd
60
Player.gd
|
@ -5,6 +5,8 @@ signal update_display # tells parent to update points display
|
|||
signal refund # will tell parent a refund is occuring, for display
|
||||
signal shooting_speed_upgrade # signals that a shooting speed upgrade has occured
|
||||
signal ship_speed_upgrade
|
||||
signal other_shooting_upgrade
|
||||
signal other_ship_speed_upgrade
|
||||
signal shooting_speed_fully_upgraded
|
||||
signal ship_speed_fully_upgraded
|
||||
signal restart_game
|
||||
|
@ -62,24 +64,32 @@ var shooting_speed_upgrade = SHOOTING_SPEED_UPGRADE_DEFAULT
|
|||
var ship_speed_upgrade = SHIP_SPEED_UPGRADE_DEFAULT
|
||||
|
||||
func upgradeMenu():
|
||||
menu_open = true
|
||||
var upgmenu = preload("res://UpgradeMenu.tscn").instance()
|
||||
add_child(upgmenu)
|
||||
upgmenu.connect("refund", self, "_refund_button")
|
||||
upgmenu.connect("bullet_delay_upgrade", self, "upgradeBulletDelay_button")
|
||||
upgmenu.connect("ship_speed_upgrade", self, "upgradeShipSpeed_button")
|
||||
upgmenu.connect("menu_closed", self, "menuClosed")
|
||||
upgmenu.bullet_delay_tier = bullet_delay_tier
|
||||
upgmenu.ship_speed_tier = ship_speed_tier
|
||||
get_tree().paused = true
|
||||
if !get_tree().has_network_peer():
|
||||
get_tree().paused = true
|
||||
|
||||
func menuClosed():
|
||||
menu_open = false
|
||||
|
||||
func upgradeShipSpeed_button():
|
||||
upgradeShipSpeed()
|
||||
emit_signal("update_display")
|
||||
get_tree().paused = true
|
||||
if !get_tree().has_network_peer():
|
||||
get_tree().paused = true
|
||||
|
||||
func upgradeBulletDelay_button():
|
||||
upgradeBulletDelay()
|
||||
emit_signal("update_display")
|
||||
get_tree().paused = true
|
||||
if !get_tree().has_network_peer():
|
||||
get_tree().paused = true
|
||||
|
||||
func upgradeBulletDelay():
|
||||
if (bullet_delay == BULLET_DELAY_TIER1 && money >= BULLET_DELAY_TIER2_COST):
|
||||
|
@ -111,7 +121,9 @@ func upgradeBulletDelay():
|
|||
shooting_speed_upgrade *= 1.1
|
||||
bullet_delay_tier += 1
|
||||
timer.set_wait_time(bullet_delay)
|
||||
prints(bullet_delay)
|
||||
|
||||
rpc("other_shooting_speed_upgrade", get_tree().get_network_unique_id(), bullet_delay)
|
||||
prints("rpc other_shootng_speed_upgrade", get_tree().get_network_unique_id(), bullet_delay)
|
||||
|
||||
func upgradeShipSpeed():
|
||||
prints("func upgradeShipSpeed():")
|
||||
|
@ -142,6 +154,7 @@ func upgradeShipSpeed():
|
|||
money -= ship_speed_upgrade
|
||||
ship_value += ship_speed_upgrade
|
||||
ship_speed_upgrade *= 1.1
|
||||
|
||||
prints(ship_speed)
|
||||
|
||||
func _ready():
|
||||
|
@ -190,27 +203,32 @@ var y_down = false
|
|||
|
||||
var is_shooting
|
||||
|
||||
var menu_open = false
|
||||
func moveto(finger_position):
|
||||
if (finger_position.x > position.x && finger_position.x < 800):
|
||||
velocity.x += 1
|
||||
x_up = true
|
||||
if position.x > finger_position.x:
|
||||
velocity.x -= 1
|
||||
x_down = true
|
||||
if (finger_position.y - 100 > position.y && finger_position.x < 800):
|
||||
velocity.y += 1
|
||||
y_up = true
|
||||
if (position.y > finger_position.y - 100 && finger_position.x < 800):
|
||||
velocity.y -= 1
|
||||
y_down = true
|
||||
# if (finger_position.x >= 800 && can_shoot):
|
||||
# shoot()
|
||||
# if get_tree().has_network_peer():
|
||||
# rpc("move_player", get_tree().get_network_unique_id(), position, ~can_shoot)
|
||||
if !menu_open:
|
||||
if (finger_position.x > position.x && finger_position.x < 800):
|
||||
velocity.x += 1
|
||||
x_up = true
|
||||
if position.x > finger_position.x:
|
||||
velocity.x -= 1
|
||||
x_down = true
|
||||
if (finger_position.y - 100 > position.y && finger_position.x < 800):
|
||||
velocity.y += 1
|
||||
y_up = true
|
||||
if (position.y > finger_position.y - 100 && finger_position.x < 800):
|
||||
velocity.y -= 1
|
||||
y_down = true
|
||||
# if (finger_position.x >= 800 && can_shoot):
|
||||
# shoot()
|
||||
# if get_tree().has_network_peer():
|
||||
# rpc("move_player", get_tree().get_network_unique_id(), position, ~can_shoot)
|
||||
|
||||
remote func move_player(id, position, is_shooting):
|
||||
emit_signal("multiplayer_movement", id, position, is_shooting)
|
||||
|
||||
remote func other_shooting_speed_upgrade(id, bullet_delay):
|
||||
emit_signal("other_shooting_upgrade", id, bullet_delay)
|
||||
|
||||
var velocity = Vector2() # the player's movement vector
|
||||
|
||||
func _process(delta):
|
||||
|
@ -240,7 +258,7 @@ func _process(delta):
|
|||
is_shooting = true
|
||||
|
||||
if get_tree().has_network_peer():
|
||||
rpc("move_player", get_tree().get_network_unique_id(), position, is_shooting)
|
||||
rpc_unreliable("move_player", get_tree().get_network_unique_id(), position, is_shooting)
|
||||
|
||||
if ((Input.is_action_pressed("ui_accept") || shoot_down == true) && can_shoot == true):
|
||||
shoot()
|
||||
|
|
|
@ -6,6 +6,7 @@ signal bullet_delay_upgrade
|
|||
signal ship_speed_upgrade
|
||||
signal add_laser
|
||||
signal plasma_lasers
|
||||
signal menu_closed
|
||||
|
||||
var bullet_delay_tier
|
||||
var shooting_speed_tier
|
||||
|
@ -17,6 +18,10 @@ func _ready():
|
|||
$ShootingSpeedUpgrade/Icon.frame = bullet_delay_tier
|
||||
ship_speed_tier = get_parent().ship_speed_tier
|
||||
$ShipSpeedUpgrade/Icon.frame = ship_speed_tier
|
||||
if get_tree().has_network_peer():
|
||||
$ColorRect.color = Color(1,1,1,0.5)
|
||||
else:
|
||||
$ColorRect.color = Color(1,1,1,0.5)
|
||||
|
||||
func _process(delta):
|
||||
$ShootingSpeedUpgrade/Icon.frame = bullet_delay_tier
|
||||
|
@ -28,6 +33,7 @@ func _process(delta):
|
|||
|
||||
func _on_Button_pressed():
|
||||
get_tree().paused = false
|
||||
emit_signal("menu_closed")
|
||||
queue_free()
|
||||
|
||||
func _on_Refund_pressed():
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 36 KiB |
Loading…
Reference in New Issue