gear: make basis properties overridable by child classes
This commit is contained in:
parent
1112a9f6da
commit
3e23bd4841
1 changed files with 16 additions and 14 deletions
|
|
@ -1,25 +1,27 @@
|
||||||
@icon("./gear.png")
|
@icon("./gear.png")
|
||||||
class_name Gear extends Node3D
|
class_name Gear extends Node3D
|
||||||
|
|
||||||
var idle_basis = Basis(
|
|
||||||
Vector3(1, 0, 0),
|
|
||||||
Vector3(0, 1, 0),
|
|
||||||
Vector3(0, 0, 1))
|
|
||||||
var use_basis = Basis(
|
|
||||||
Vector3(1, 0, 0),
|
|
||||||
Vector3(0, 0, -1),
|
|
||||||
Vector3(0, 1, 0))
|
|
||||||
var pickup_basis = idle_basis
|
|
||||||
|
|
||||||
func gear_name():
|
func gear_name():
|
||||||
return "Gear"
|
return "Gear"
|
||||||
func model_file():
|
func model_file():
|
||||||
return "hammer.glb"
|
return "hammer.glb"
|
||||||
func continuous():
|
func continuous():
|
||||||
return false
|
return false
|
||||||
|
func idle_basis():
|
||||||
|
return Basis(
|
||||||
|
Vector3(1, 0, 0),
|
||||||
|
Vector3(0, 1, 0),
|
||||||
|
Vector3(0, 0, 1))
|
||||||
|
func use_basis():
|
||||||
|
return Basis(
|
||||||
|
Vector3(1, 0, 0),
|
||||||
|
Vector3(0, 0, -1),
|
||||||
|
Vector3(0, 1, 0))
|
||||||
|
func pickup_basis():
|
||||||
|
return idle_basis()
|
||||||
|
|
||||||
func use(player):
|
func use(player):
|
||||||
basis = use_basis
|
basis = use_basis()
|
||||||
$Timer.start()
|
$Timer.start()
|
||||||
on_use(player)
|
on_use(player)
|
||||||
|
|
||||||
|
|
@ -36,10 +38,10 @@ func on_ready():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
func _on_timer_timeout():
|
func _on_timer_timeout():
|
||||||
basis = idle_basis
|
basis = idle_basis()
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
basis = idle_basis
|
basis = idle_basis()
|
||||||
if get_parent() is GearPickup:
|
if get_parent() is GearPickup:
|
||||||
basis = pickup_basis
|
basis = pickup_basis()
|
||||||
on_ready()
|
on_ready()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue