Implemented simple quest system
This commit is contained in:
@@ -1,11 +1,51 @@
|
||||
extends Node
|
||||
signal new_day
|
||||
|
||||
var raycasts_count = 100
|
||||
var raycast_queue = []
|
||||
var astar: AStar
|
||||
|
||||
func _ready():
|
||||
set_save_slot(0)
|
||||
|
||||
enum periods {MORNING, DAY, EVENING, NIGHT}
|
||||
var game_day: int = 0
|
||||
var day_period: int = periods.MORNING
|
||||
var game_hour: int = 0
|
||||
var game_minute: int = 0
|
||||
|
||||
var acc_time:float = 0.0
|
||||
var time_active = false
|
||||
|
||||
func _process(delta):
|
||||
if time_active:
|
||||
update_time(delta)
|
||||
|
||||
func update_time(delta):
|
||||
acc_time += delta
|
||||
if acc_time >= 1.0:
|
||||
game_minute += 1
|
||||
acc_time -= 1.0
|
||||
if game_minute == 60:
|
||||
game_minute = 0
|
||||
game_hour += 1
|
||||
if game_hour == 24:
|
||||
game_hour = 0
|
||||
game_day += 1
|
||||
match(game_hour):
|
||||
23,0,1,2,3:
|
||||
day_period = periods.NIGHT
|
||||
4,5,6,7,8,9,10,11:
|
||||
day_period = periods.MORNING
|
||||
12,13,14,15,16:
|
||||
day_period = periods.DAY
|
||||
17,18,19,20,21,22:
|
||||
day_period = periods.EVENING
|
||||
func start_time():
|
||||
time_active = true
|
||||
func stop_time():
|
||||
time_active = false
|
||||
|
||||
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()
|
||||
@@ -38,6 +78,10 @@ func save_characters():
|
||||
spawner.set_meta("stats", stats)
|
||||
|
||||
func save_game():
|
||||
print("save game")
|
||||
save_data.game_day = game_day
|
||||
save_data.game_hour = game_hour
|
||||
save_data.day_period = day_period
|
||||
assert(save_slot.length() > 0)
|
||||
var fd = File.new()
|
||||
fd.open(save_slot, File.WRITE)
|
||||
@@ -51,4 +95,7 @@ func load_game():
|
||||
var data = fd.get_as_text()
|
||||
var parse: = JSON.parse(data)
|
||||
save_data = parse.result
|
||||
game_day = save_data.game_day
|
||||
game_hour = save_data.game_hour
|
||||
day_period = save_data.day_period
|
||||
fd.close()
|
||||
|
||||
Reference in New Issue
Block a user