proto3 initial commit

This commit is contained in:
Segey Lapin
2020-04-13 12:45:25 +03:00
parent 69410badf6
commit 1084b6d5c3
1588 changed files with 368852 additions and 23 deletions

View File

@@ -0,0 +1,54 @@
extends Node
var raycasts_count = 100
var raycast_queue = []
func _ready():
set_save_slot(0)
func visibility_check(ch1, ch2):
var direction: Vector3 = -ch1.global_transform.basis[2].normalized()
var to_ch2: Vector3 = (ch2.global_transform.origin - ch1.global_transform.origin).normalized()
var angle = direction.angle_to(to_ch2)
if abs(angle) < PI / 2.0:
var space_state = ch1.get_world().direct_space_state
var ch1_pos = ch1.global_transform.origin
var ch2_pos = ch2.global_transform.origin
var up = Vector3(0, 0.6, 0)
var front_result = space_state.intersect_ray(ch1_pos + up, ch2_pos + up,
[ch1, ch2], 0xffff)
if !front_result.has("collider"):
return true
return false
var player = null
var smart_object = []
const save_slot_base = "user://save"
var save_slot = ""
func set_save_slot(id: int):
save_slot = save_slot_base + str(id)
var save_data: Dictionary = {}
func save_characters():
for k in get_tree().get_nodes_in_group("characters"):
var spawner = k.get_meta("spawner")
var stats = {}
for s in rpg.save_stats:
stats[s] = k.get_meta(s)
spawner.set_meta("stats", stats)
func save_game():
assert(save_slot.length() > 0)
var fd = File.new()
fd.open(save_slot, File.WRITE)
var data = JSON.print(save_data, "\t", true)
fd.store_string(data)
fd.close()
func load_game():
assert(save_slot.length() > 0)
var fd = File.new()
if fd.open(save_slot, File.READ) == OK:
var data = fd.get_as_text()
var parse: = JSON.parse(data)
save_data = parse.result
fd.close()