Attempt to using Nakama as replacement of Low-Level ENet
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
extends Node
|
||||
|
||||
# GoalManager - Manages goal generation and synchronization
|
||||
|
||||
var preset_goals: Array = []
|
||||
|
||||
func initialize_random_goals(size: int, min_value: int, max_value: int, null_count: float) -> Array:
|
||||
var goals = []
|
||||
var rng = RandomNumberGenerator.new()
|
||||
rng.randomize()
|
||||
|
||||
var null_val = 0
|
||||
var max_nulls = 3
|
||||
|
||||
const SPECIAL_VALUES = {1: 7, 2: 8, 3: 9, 4: 10}
|
||||
|
||||
for i in range(size):
|
||||
if null_val < max_nulls and rng.randf() < null_count:
|
||||
goals.append(-1)
|
||||
null_val += 1
|
||||
else:
|
||||
var val = rng.randi_range(min_value, max_value)
|
||||
goals.append(val if not val in SPECIAL_VALUES else SPECIAL_VALUES[val])
|
||||
|
||||
return goals
|
||||
|
||||
func generate_preset_goals(count: int) -> Array:
|
||||
preset_goals.clear()
|
||||
for i in range(count):
|
||||
var goals = initialize_random_goals(9, 7, 10, 1.0)
|
||||
var int_goals: Array[int] = []
|
||||
for g in goals:
|
||||
int_goals.append(g)
|
||||
preset_goals.append(int_goals)
|
||||
return preset_goals
|
||||
|
||||
func get_goals_for_player(player_index: int) -> Array:
|
||||
if player_index >= 0 and player_index < preset_goals.size():
|
||||
return preset_goals[player_index].duplicate()
|
||||
return []
|
||||
Reference in New Issue
Block a user