66 lines
1.3 KiB
GDScript
66 lines
1.3 KiB
GDScript
class_name cLocation
|
|
|
|
var locationGraph = Global.locations
|
|
|
|
var location: Dictionary
|
|
var locationID: String
|
|
|
|
var name: String
|
|
var connections: Array
|
|
|
|
var enemyTemplate = {
|
|
"present": false,
|
|
"state": 0
|
|
}
|
|
|
|
var construct = enemyTemplate.duplicate()
|
|
var yoshida = enemyTemplate.duplicate()
|
|
var akers = enemyTemplate.duplicate()
|
|
var flesher = enemyTemplate.duplicate()
|
|
|
|
func _init(id: String):
|
|
# Set immediate values
|
|
locationID = id
|
|
print(locationGraph)
|
|
print(id)
|
|
location = locationGraph.get(id)
|
|
|
|
# Set Fields
|
|
name = location.get("name")
|
|
connections = location.get("connections")
|
|
|
|
func isPresent(character: String) -> bool:
|
|
match character:
|
|
"construct":
|
|
return construct.get("present")
|
|
"yoshida":
|
|
return yoshida.get("present")
|
|
"akers":
|
|
return akers.get("present")
|
|
"flesher":
|
|
return flesher.get("present")
|
|
return false
|
|
|
|
func getState(character: String) -> int:
|
|
match character:
|
|
"construct":
|
|
return construct.get("state")
|
|
"yoshida":
|
|
return yoshida.get("state")
|
|
"akers":
|
|
return akers.get("state")
|
|
"flesher":
|
|
return flesher.get("state")
|
|
return -1
|
|
|
|
func makeHash() -> String:
|
|
var hash = ""
|
|
var characters = ["construct", "yoshida", "akers", "flesher"]
|
|
|
|
for c in characters:
|
|
if isPresent(c):
|
|
hash += c[0]
|
|
hash += str( getState(c) )
|
|
|
|
return hash
|