Browse Source

Move version to util / singleton / global

master
Luna 7 years ago
parent
commit
5d86c7ba26
2 changed files with 17 additions and 3 deletions
  1. +6
    -2
      scripts/lobby.gd
  2. +11
    -1
      scripts/util.gd

+ 6
- 2
scripts/lobby.gd View File

@ -38,8 +38,6 @@ func option_sel(button_name, option):
func _ready(): func _ready():
my_info.version = [0,0,0] # Semantic versioning: [0].[1].[2]
randomize() randomize()
get_node("GameBrowser/Play").connect("pressed", self, "connect_global_server") get_node("GameBrowser/Play").connect("pressed", self, "connect_global_server")
@ -136,8 +134,14 @@ func collect_info():
my_info.hero = get_node("PlayerSettings/HeroSelect").get_selected_id() my_info.hero = get_node("PlayerSettings/HeroSelect").get_selected_id()
if not "is_right_team" in my_info: if not "is_right_team" in my_info:
my_info.is_right_team = false # Server assigns team, wait for that my_info.is_right_team = false # Server assigns team, wait for that
my_info.version = version
remote func register_player(new_peer, info): remote func register_player(new_peer, info):
var p_version = info.version.split(".")
var version_split = util.version.split(".")
if p_version[0] != version_split[0]:
# TODO: Fail gracefully
return
player_info[new_peer] = info player_info[new_peer] = info
render_player_list() render_player_list()
if (get_tree().is_network_server()): if (get_tree().is_network_server()):


+ 11
- 1
scripts/util.gd View File

@ -1,5 +1,15 @@
extends Node extends Node
# Semantic versioning, more or less
# Major: Server cannot accept requests (i.e. new hero, or network protocol change)
# Minor: Gameplay was significantly changed, but these can still technically play together (i.e. master-only scope added)
# These are things a server admin might choose to reject if it was decided to be significant
# Patch: Anything else: Bugfixes, UI changes, etc
# Currently 0.0.0 which means API, gameplay, etc can change suddenly and frequently
# Don't rely on it for anything
# 1.0.0 will be the reddit release
var version = "0.0.0"
func get_master_player(): func get_master_player():
var path = "/root/Level/Players/%d" % get_tree().get_network_unique_id() var path = "/root/Level/Players/%d" % get_tree().get_network_unique_id()
if has_node(path): if has_node(path):
@ -10,7 +20,7 @@ func get_master_player():
func is_friendly(player): func is_friendly(player):
var mp = get_master_player() var mp = get_master_player()
if mp: if mp:
return player.player_info.is_right_team == get_master_player().player_info.is_right_team
return player.player_info.is_right_team == mp.player_info.is_right_team
else: else:
return true # Doesn't matter, we're headless return true # Doesn't matter, we're headless

Loading…
Cancel
Save