CabinGame/Luxe/blocks/adventures.wren
2020-10-04 18:35:12 +02:00

62 lines
No EOL
1.1 KiB
Text

import "math/observable" for Observable
import "luxe: world" for Entity, Values, Tags
import "globals" for Globals
class Adventures{
planning{_planning}
max_distance{_max_distance}
construct new(){
_planning = Observable.new()
_in_progress = []
_archive = []
_max_distance = 10
}
plan_new(){
var adventure = Adventure.new()
_planning.value = adventure
return adventure
}
new_or_current(){
if(_planning.value) return _planning.value
return plan_new()
}
discard(){
_planning.value = null
}
set_max_distance(dist){
_max_distance = dist
planning.emit()
}
}
class Adventure{
adventurers{_adventurers}
resources{_resources}
data{_data}
direction{_direction}
direction=(dir){_direction = dir}
distance{_distance}
distance=(dist){_distance = dist}
construct new(){
_adventurers = []
_resources = []
_data = {}
_direction = 0
_distance = 0
}
add_adventurer(adventurer){
_adventurers.add(adventurer)
}
add_resource(resource){
_resources.add(resource)
}
}