refactor
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
class_name ScarcityController
|
||||
extends RefCounted
|
||||
|
||||
# ScarcityController - Logic for tile generation based on ScarcityModel
|
||||
|
||||
static func get_random_tile_id() -> int:
|
||||
var rng = RandomNumberGenerator.new()
|
||||
rng.randomize()
|
||||
|
||||
var weights = ScarcityModel.get_tile_weights()
|
||||
var total_weight = 0
|
||||
|
||||
# Calculate total weight
|
||||
for tile in weights:
|
||||
total_weight += weights[tile]
|
||||
|
||||
var roll = rng.randi_range(0, total_weight - 1)
|
||||
var current = 0
|
||||
|
||||
for tile in weights:
|
||||
current += weights[tile]
|
||||
if roll < current:
|
||||
return tile
|
||||
|
||||
return ScarcityModel.TILE_HEART # Fallback
|
||||
Reference in New Issue
Block a user