Browse Source

Display teams: Friendly blue, enemy red

master
Luna 7 years ago
parent
commit
5652895e75
3 changed files with 82 additions and 7 deletions
  1. +56
    -4
      scenes/player.tscn
  2. +9
    -3
      scripts/lobby.gd
  3. +17
    -0
      scripts/player.gd

+ 56
- 4
scenes/player.tscn View File

@ -29,6 +29,58 @@ radial_segments = 64
rings = 8 rings = 8
_sections_unfolded = [ "Resource" ] _sections_unfolded = [ "Resource" ]
[sub_resource type="SpatialMaterial" id=5]
render_priority = 0
flags_transparent = false
flags_unshaded = false
flags_vertex_lighting = false
flags_no_depth_test = false
flags_use_point_size = false
flags_world_triplanar = false
flags_fixed_size = false
flags_albedo_tex_force_srgb = false
vertex_color_use_as_albedo = false
vertex_color_is_srgb = false
params_diffuse_mode = 0
params_specular_mode = 0
params_blend_mode = 0
params_cull_mode = 0
params_depth_draw_mode = 0
params_line_width = 1.0
params_point_size = 1.0
params_billboard_mode = 0
params_grow = false
params_use_alpha_scissor = false
albedo_color = Color( 1, 1, 1, 1 )
metallic = 0.0
metallic_specular = 0.5
metallic_texture_channel = 0
roughness = 0.0
roughness_texture_channel = 0
emission_enabled = false
normal_enabled = false
rim_enabled = false
clearcoat_enabled = false
anisotropy_enabled = false
ao_enabled = false
depth_enabled = false
subsurf_scatter_enabled = false
transmission_enabled = false
refraction_enabled = false
detail_enabled = false
uv1_scale = Vector3( 1, 1, 1 )
uv1_offset = Vector3( 0, 0, 0 )
uv1_triplanar = false
uv1_triplanar_sharpness = 1.0
uv2_scale = Vector3( 1, 1, 1 )
uv2_offset = Vector3( 0, 0, 0 )
uv2_triplanar = false
uv2_triplanar_sharpness = 1.0
proximity_fade_enable = false
distance_fade_enable = false
_sections_unfolded = [ "Albedo", "Flags", "Parameters", "Vertex Color" ]
[node name="RigidBody" type="RigidBody" index="0" groups=[ [node name="RigidBody" type="RigidBody" index="0" groups=[
"player", "player",
]] ]]
@ -93,7 +145,7 @@ _sections_unfolded = [ "Transform" ]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.19053, 0 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.19053, 0 )
_sections_unfolded = [ "Transform" ] _sections_unfolded = [ "Transform" ]
[node name="MeshInstance" type="MeshInstance" parent="Yaw/Pitch" index="0"]
[node name="RotatedHead" type="MeshInstance" parent="Yaw/Pitch" index="0"]
transform = Transform( 2.65431e-14, -1.62921e-07, 1, -1, -1.62921e-07, 0, 1.62921e-07, -1, -1.62921e-07, 0, -0.0649133, -0.103671 ) transform = Transform( 2.65431e-14, -1.62921e-07, 1, -1, -1.62921e-07, 0, 1.62921e-07, -1, -1.62921e-07, 0, -0.0649133, -0.103671 )
layers = 1 layers = 1
@ -187,7 +239,7 @@ cast_to = Vector3( 0, 0, -100 )
collision_mask = 1 collision_mask = 1
_sections_unfolded = [ "Transform" ] _sections_unfolded = [ "Transform" ]
[node name="MeshInstance" type="MeshInstance" parent="." index="6"]
[node name="MainMesh" type="MeshInstance" parent="." index="6"]
transform = Transform( 1, 0, 0, 0, -1.62921e-07, -1, 0, 1, -1.62921e-07, 0, 0.567933, 0 ) transform = Transform( 1, 0, 0, 0, -1.62921e-07, -1, 0, 1, -1.62921e-07, 0, 0.567933, 0 )
layers = 1 layers = 1
@ -201,7 +253,7 @@ lod_max_distance = 0.0
lod_max_hysteresis = 0.0 lod_max_hysteresis = 0.0
mesh = SubResource( 4 ) mesh = SubResource( 4 )
skeleton = NodePath("..") skeleton = NodePath("..")
material/0 = null
_sections_unfolded = [ "Transform" ]
material/0 = SubResource( 5 )
_sections_unfolded = [ "Transform", "material" ]

+ 9
- 3
scripts/lobby.gd View File

@ -193,10 +193,11 @@ sync func start_game():
rpc("pre_configure_game", level) rpc("pre_configure_game", level)
var players_done = [] var players_done = []
remote func done_preconfiguring(who):
sync func done_preconfiguring(who):
players_done.append(who) players_done.append(who)
if (players_done.size() == player_info.size()):
rpc("post_configure_game")
if players_done.size() == player_info.size():
# We call deferred in case singleplayer has placing the player in queue still
call_deferred("rpc", "post_configure_game")
sync func spawn_player(p): sync func spawn_player(p):
var hero = player_info[p].hero var hero = player_info[p].hero
@ -224,6 +225,11 @@ sync func pre_configure_game(level):
rpc_id(1, "done_preconfiguring", self_peer_id) rpc_id(1, "done_preconfiguring", self_peer_id)
sync func post_configure_game():
# Begin all players (including self)
for p in player_info:
get_node("/root/Level/Players/%d" % p).begin()
#func _process(delta): #func _process(delta):
# # Called every frame. Delta is time since last frame. # # Called every frame. Delta is time since last frame.
# # Update game logic here. # # Update game logic here.


+ 17
- 0
scripts/player.gd View File

@ -31,6 +31,8 @@ slave var slave_ang_v = Vector3()
var tp_camera = "TPCamera" var tp_camera = "TPCamera"
var master_only = "MasterOnly" var master_only = "MasterOnly"
var master_player
var ai_instanced = false var ai_instanced = false
func _ready(): func _ready():
@ -44,6 +46,7 @@ func _ready():
add_child(preload("res://scenes/ai.tscn").instance()) add_child(preload("res://scenes/ai.tscn").instance())
ai_instanced = true ai_instanced = true
else: else:
# Remove HUD
remove_child(get_node(master_only)) remove_child(get_node(master_only))
func spawn(): func spawn():
@ -91,6 +94,19 @@ func _input(event):
if "record" in player_info: if "record" in player_info:
recording.events.append([recording.time, event_to_obj(event)]) recording.events.append([recording.time, event_to_obj(event)])
func begin():
master_player = get_node("/root/Level/Players/%d" % get_tree().get_network_unique_id())
# Set color to blue (teammate) or red (enemy)
var color
if master_player.player_info.is_right_team == player_info.is_right_team:
color = Color(0,0,1) # Blue for friendly
else:
color = Color(1,0,0) # Red for enemy
var mesh = get_node("MainMesh")
var mat = SpatialMaterial.new()
mat.albedo_color = color
mesh.set_surface_material(0, mat)
func toggle_mouse_capture(): func toggle_mouse_capture():
if (Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED): if (Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED):
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
@ -256,3 +272,4 @@ func write_recording():
# Quits the game: # Quits the game:
func quit(): func quit():
get_tree().quit() get_tree().quit()

Loading…
Cancel
Save