Initial project sync
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
class_name JudgementPolicy
|
||||
extends Resource
|
||||
|
||||
@export var entries: Dictionary = {}
|
||||
|
||||
|
||||
func multiplier(label: StringName, channel: StringName, fallback := 1.0) -> float:
|
||||
var entry := _entry_for(label)
|
||||
if entry.is_empty():
|
||||
return fallback
|
||||
if entry.has(str(channel)):
|
||||
return float(entry[str(channel)])
|
||||
if entry.has(channel):
|
||||
return float(entry[channel])
|
||||
return fallback
|
||||
|
||||
|
||||
func _entry_for(label: StringName) -> Dictionary:
|
||||
var key := str(label).to_lower()
|
||||
if entries.has(key) and entries[key] is Dictionary:
|
||||
return entries[key]
|
||||
if entries.has(label) and entries[label] is Dictionary:
|
||||
return entries[label]
|
||||
return {}
|
||||
Reference in New Issue
Block a user