Compare commits
No commits in common. "67b228e60f870ef7bb25c832ea57943ea94029ed" and "bde9492c638e39870f2a460094085e37795e0f33" have entirely different histories.
67b228e60f
...
bde9492c63
26
Main.tscn
26
Main.tscn
|
|
@ -1,7 +1,5 @@
|
|||
[gd_scene load_steps=9 format=2]
|
||||
[gd_scene load_steps=6 format=2]
|
||||
|
||||
[ext_resource path="res://src/classes/camera_guide.gd" type="Script" id=1]
|
||||
[ext_resource path="res://src/Camera2D.gd" type="Script" id=2]
|
||||
[ext_resource path="res://src/ui/scene_transition.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://src/Main.gd" type="Script" id=7]
|
||||
[ext_resource path="res://src/ui/lobby.tscn" type="PackedScene" id=9]
|
||||
|
|
@ -19,9 +17,6 @@ void vertex() {
|
|||
shader = SubResource( 2 )
|
||||
shader_param/cam_offset = Vector2( 0, 0 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=4]
|
||||
extents = Vector2( 160, 90 )
|
||||
|
||||
[node name="Main" type="Node2D"]
|
||||
script = ExtResource( 7 )
|
||||
|
||||
|
|
@ -42,22 +37,3 @@ render_target_update_mode = 3
|
|||
[node name="Lobby" parent="ViewportContainer/Viewport" instance=ExtResource( 9 )]
|
||||
|
||||
[node name="SceneTransition" parent="ViewportContainer/Viewport" instance=ExtResource( 4 )]
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="ViewportContainer/Viewport"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2( 160, 90 )
|
||||
current = true
|
||||
script = ExtResource( 2 )
|
||||
tracking_node_path = NodePath("../CameraGuide")
|
||||
|
||||
[node name="CameraGuide" type="KinematicBody2D" parent="ViewportContainer/Viewport"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2( 160, 90 )
|
||||
collision_layer = 0
|
||||
collision_mask = 256
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="ViewportContainer/Viewport/CameraGuide"]
|
||||
visible = false
|
||||
shape = SubResource( 4 )
|
||||
one_way_collision = true
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
[ext_resource path="res://lib/classes/animated_sprite_state_receiver.gd" type="Script" id=4]
|
||||
[ext_resource path="res://lib/classes/audiostreamplayer_state_receiver.gd" type="Script" id=5]
|
||||
|
||||
[node name="Actor" type="KinematicBody2D" groups=["world"]]
|
||||
[node name="Actor" type="KinematicBody2D"]
|
||||
collision_layer = 2
|
||||
script = ExtResource( 2 )
|
||||
|
||||
|
|
|
|||
|
|
@ -11,18 +11,7 @@ onready var current_music_track :AudioStream
|
|||
|
||||
onready var viewport_container = get_node("/root/Main/ViewportContainer") #$ViewportContainer
|
||||
onready var viewport = get_node("/root/Main/ViewportContainer/Viewport") # $ViewportContainer/Viewport
|
||||
onready var camera_guide :CameraGuide = get_node("/root/Main/ViewportContainer/Viewport/CameraGuide")
|
||||
|
||||
func _ready():
|
||||
NetworkManager.connect("game_started", self, "_on_game_started")
|
||||
NetworkManager.connect("game_ended", self, "_on_game_ended")
|
||||
|
||||
func _on_game_started():
|
||||
camera_guide.enable_tracking()
|
||||
|
||||
func _on_game_ended():
|
||||
camera_guide.disable_tracking()
|
||||
camera_guide.reset_position()
|
||||
onready var camera_guide :CameraGuide = get_node("/root/Main/ViewportContainer/Viewport/World/CameraGuide")
|
||||
|
||||
func change_music_track(_music_track :AudioStream ):
|
||||
if current_music_track != _music_track:
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ signal player_list_changed()
|
|||
signal connection_failed()
|
||||
signal connection_succeeded()
|
||||
signal game_ended()
|
||||
signal game_started()
|
||||
signal game_error(what)
|
||||
|
||||
# Default game server port. Can be any number between 1024 and 49151.
|
||||
|
|
@ -69,6 +68,7 @@ func _connected_fail():
|
|||
get_tree().set_network_peer(null) # Remove peer
|
||||
emit_signal("connection_failed")
|
||||
|
||||
|
||||
# Lobby management functions.
|
||||
|
||||
remote func register_player(new_player_name):
|
||||
|
|
@ -82,33 +82,12 @@ func unregister_player(id):
|
|||
players.erase(id)
|
||||
emit_signal("player_list_changed")
|
||||
|
||||
remote func load_scene_on_all_clients(_scene :PackedScene, _node_path :NodePath, _global_position :Vector2 , _as_toplevel = true):
|
||||
print("did I not get called others: ", players.size())
|
||||
|
||||
var new_scene = _scene.instance()
|
||||
var _caller_id = get_tree().get_rpc_sender_id()
|
||||
|
||||
new_scene.set_network_master(_caller_id)
|
||||
new_scene.set_as_toplevel(_as_toplevel)
|
||||
new_scene.global_position = _global_position
|
||||
|
||||
get_node(_node_path).add_child(new_scene)
|
||||
|
||||
for _player in players:
|
||||
rpc_id(_player, "load_scene_on_all_clients", _scene, _node_path, _global_position, _as_toplevel )
|
||||
|
||||
if new_scene.get_network_master() == _caller_id:
|
||||
return new_scene
|
||||
else:
|
||||
return null
|
||||
|
||||
remote func pre_start_game(spawn_points):
|
||||
# Change scene.
|
||||
var world :Node = load("res://src/levels/TestBox.tscn").instance()
|
||||
var ui :Node = load("res://src/ui/HUD.tscn").instance()
|
||||
world.set_name("World")
|
||||
world.add_to_group('world')
|
||||
ui.add_to_group('world')
|
||||
|
||||
get_tree().get_root().get_node("/root/Main/ViewportContainer/Viewport").add_child(world)
|
||||
get_tree().get_root().get_node("/root/Main/ViewportContainer/Viewport").add_child(ui)
|
||||
|
|
@ -151,7 +130,7 @@ remote func pre_start_game(spawn_points):
|
|||
|
||||
remote func post_start_game():
|
||||
get_tree().set_pause(false) # Unpause and unleash the game!
|
||||
emit_signal("game_started")
|
||||
|
||||
|
||||
remote func ready_to_start(id):
|
||||
assert(get_tree().is_network_server())
|
||||
|
|
@ -182,8 +161,6 @@ func join_game(ip, new_player_name):
|
|||
func get_player_list():
|
||||
return players.values()
|
||||
|
||||
func get_player_ids():
|
||||
return players.keys()
|
||||
|
||||
func get_player_name():
|
||||
return player_name
|
||||
|
|
@ -207,10 +184,9 @@ func begin_game():
|
|||
|
||||
|
||||
func end_game():
|
||||
get_tree().call_group("world","queue_free")
|
||||
# if has_node("/root/Main/ViewportContainer/Viewport/World"): # Game is in progress.
|
||||
# # End it
|
||||
# get_node("/root/Main/ViewportContainer/Viewport/World").queue_free()
|
||||
if has_node("/root/Main/ViewportContainer/Viewport/World"): # Game is in progress.
|
||||
# End it
|
||||
get_node("/root/Main/ViewportContainer/Viewport/World").queue_free()
|
||||
|
||||
emit_signal("game_ended")
|
||||
players.clear()
|
||||
|
|
|
|||
|
|
@ -22,7 +22,5 @@ func _ready():
|
|||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
debug_text = ''
|
||||
for _player_id in NetworkManager.get_player_ids():
|
||||
debug_text += str(_player_id) + '\n'
|
||||
#func _process(delta):
|
||||
# pass
|
||||
|
|
|
|||
|
|
@ -34,6 +34,11 @@ _global_script_classes=[ {
|
|||
"language": "GDScript",
|
||||
"path": "res://lib/classes/collision_shape2D_state_receiver.gd"
|
||||
}, {
|
||||
"base": "",
|
||||
"class": "GitAPI",
|
||||
"language": "NativeScript",
|
||||
"path": "res://addons/godot-git-plugin/git_api.gdns"
|
||||
}, {
|
||||
"base": "Node",
|
||||
"class": "HealthComponent",
|
||||
"language": "GDScript",
|
||||
|
|
@ -155,6 +160,7 @@ _global_script_class_icons={
|
|||
"AudioStreamPlayer_StateReceiver": "",
|
||||
"CameraGuide": "",
|
||||
"CollisionShape2D_StateReceiver": "",
|
||||
"GitAPI": "",
|
||||
"HealthComponent": "",
|
||||
"HealthPickup": "",
|
||||
"Interactable": "",
|
||||
|
|
|
|||
|
|
@ -32,5 +32,6 @@ collision_mask = 256
|
|||
script = ExtResource( 1 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="CameraGuide"]
|
||||
visible = false
|
||||
shape = SubResource( 1 )
|
||||
one_way_collision = true
|
||||
|
|
|
|||
|
|
@ -200,4 +200,3 @@ func _on_Movement_StateMachine_state_changed(old_state_name, new_state):
|
|||
|
||||
func _on_Health_Component_health_depleted():
|
||||
movement_state_machine.change_to_known_state('death')
|
||||
NetworkManager.end_game()
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@
|
|||
|
||||
[sub_resource type="Resource" id=3]
|
||||
resource_local_to_scene = true
|
||||
resource_name = "hurt"
|
||||
script = ExtResource( 18 )
|
||||
debug_state = false
|
||||
timeout_seconds = 2.0
|
||||
|
|
@ -49,6 +50,7 @@ jerk_factor = 0.0
|
|||
animation_sequence = [ "hurt" ]
|
||||
|
||||
[sub_resource type="Resource" id=4]
|
||||
resource_name = "move_0"
|
||||
script = ExtResource( 24 )
|
||||
state_name = "move"
|
||||
frame_number = 0
|
||||
|
|
@ -56,6 +58,7 @@ sound_effect_type = 0
|
|||
sound = ExtResource( 25 )
|
||||
|
||||
[sub_resource type="Resource" id=5]
|
||||
resource_name = "move_4"
|
||||
script = ExtResource( 24 )
|
||||
state_name = "move"
|
||||
frame_number = 4
|
||||
|
|
@ -63,6 +66,7 @@ sound_effect_type = 0
|
|||
sound = ExtResource( 25 )
|
||||
|
||||
[sub_resource type="Resource" id=6]
|
||||
resource_name = "land_0"
|
||||
script = ExtResource( 24 )
|
||||
state_name = "land"
|
||||
frame_number = 0
|
||||
|
|
|
|||
|
|
@ -12,21 +12,14 @@ var _is_tracking :bool = true
|
|||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
## Do not track until told to
|
||||
disable_tracking()
|
||||
pass # Replace with function body.
|
||||
|
||||
func enable_tracking() -> void:
|
||||
##TODO: add extra collission checks here to make sure we aren't stuck maybe?
|
||||
_is_tracking = true
|
||||
self.set_physics_process(true)
|
||||
|
||||
func disable_tracking() -> void:
|
||||
_is_tracking = false
|
||||
self.set_physics_process(false)
|
||||
|
||||
func reset_position() -> void:
|
||||
## Set to half screen
|
||||
global_position = game_size / 2
|
||||
|
||||
var flip_tracker = 0.0
|
||||
var stuck_check: bool
|
||||
|
|
@ -36,7 +29,6 @@ func _physics_process(delta):
|
|||
#pos = lerp(pos, PlayerInfo.player_position, delta )
|
||||
var dir_to = Vector2(0,0)
|
||||
|
||||
if (PlayerInfo.get_player_data(0)):
|
||||
var player_position = PlayerInfo.get_player_data(0).player_position
|
||||
|
||||
# Calculate how far the player is from object
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ extends Position2D
|
|||
## Represents a weapon that spawns and shoots bullets.
|
||||
## The Cooldown timer controls the cooldown duration between shots.
|
||||
|
||||
export var scene_path :PackedScene
|
||||
export var scene_path :Resource
|
||||
export var pew_cooldown_time :float = 1.0
|
||||
|
||||
const BULLET_VELOCITY = 350
|
||||
|
|
@ -48,21 +48,19 @@ func shoot(direction = 1):
|
|||
# position.x = position.x * direction #shifting position before fire was unreliable
|
||||
if not timer.is_stopped():
|
||||
return false
|
||||
#var bullet = loaded_scene.instance()
|
||||
var bullet = NetworkManager.load_scene_on_all_clients(loaded_scene, self.get_path(), global_position , true)
|
||||
var bullet = loaded_scene.instance()
|
||||
# if (direction > 0):
|
||||
# bullet.global_position = global_position
|
||||
# else:
|
||||
# bullet.global_position = global_position - Vector2(position.x * 2, 0)
|
||||
if bullet is Projectile:
|
||||
print ("i'm a projectile")
|
||||
# bullet.global_position = global_position
|
||||
bullet.global_position = global_position
|
||||
bullet.direction_normal = normal_vector
|
||||
|
||||
#bullet.linear_velocity = Vector2(direction * BULLET_VELOCITY, 0)
|
||||
|
||||
bullet.set_as_toplevel(true)
|
||||
# add_child(bullet)
|
||||
add_child(bullet)
|
||||
# sound_shoot.play()
|
||||
timer.start()
|
||||
return true
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
radius = 6.0
|
||||
height = 2.0
|
||||
|
||||
[node name="MushroomPew" groups=["world"] instance=ExtResource( 1 )]
|
||||
[node name="MushroomPew" instance=ExtResource( 1 )]
|
||||
velocity_pps = 300.0
|
||||
lifespan = 0.5
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user