Browse Source

Reset view and AI when spawning

master
Luna 7 years ago
parent
commit
7d7541a7c0
2 changed files with 17 additions and 2 deletions
  1. +12
    -2
      scripts/ai.gd
  2. +5
    -0
      scripts/player.gd

+ 12
- 2
scripts/ai.gd View File

@ -6,6 +6,7 @@ var set_spawn = true
func _ready():
if is_network_master():
get_node("..").connect("spawn", self, "read_recording")
read_recording()
set_spawn = true
time = 0
@ -14,14 +15,18 @@ func _ready():
func _physics_process(delta):
if is_network_master():
if set_spawn:
get_node("..").set_translation(str2var(recording.spawn))
get_node("..").switch_charge = str2var(recording.switch_charge)
set_spawn()
set_spawn = false
play_keys()
# It's actually better to do this 2nd
# Since input is, on average, called 1/2way through a frame
time += delta
func set_spawn():
get_node("..").set_translation(str2var(recording.spawn))
print(recording.switch_charge)
get_node("..").switch_charge = str2var(recording.switch_charge)
func read_recording():
# Gather all existing recordings
@ -43,12 +48,16 @@ func read_recording():
# Now pick a random one
var fname = possible[randi() % possible.size()]
print("Reading recording: " + fname)
# Read the file into recording.events for later use
var frec = File.new()
frec.open(path + fname, File.READ)
recording = parse_json(frec.get_as_text())
frec.close()
set_spawn()
func apply_dict(from, to):
if typeof(from) != TYPE_DICTIONARY:
return from
@ -80,3 +89,4 @@ func play_keys():
Input.parse_input_event(event)
#._input(event)
#get_node("TPCamera")._input(event)

+ 5
- 0
scripts/player.gd View File

@ -37,6 +37,8 @@ var enemy_color = Color("#f04273") # Red
var ai_instanced = false
signal spawn
func _ready():
set_process_input(true)
@ -53,6 +55,7 @@ func _ready():
remove_child(get_node(master_only))
sync func spawn():
emit_signal("spawn")
if "record" in player_info:
write_recording() # Write each spawn as a separate recording
var placement = Vector3()
@ -72,6 +75,8 @@ sync func spawn():
set_transform(Basis())
set_translation(placement)
set_linear_velocity(Vector3())
get_node(tp_camera).cam_yaw = 0
get_node(tp_camera).cam_pitch = 0
func event_to_obj(event):
var d = {}


Loading…
Cancel
Save