Add state duration tracker to movement state receiver to re-enable drop through collision mask. drop through floor now better.
This commit is contained in:
parent
d3775c364f
commit
5196b3eb6e
|
|
@ -30,6 +30,7 @@ var velocity_controller :VelocityController = VelocityController.new()
|
|||
#var sim_velocity = Vector2(0,0)
|
||||
var physics_delta:float
|
||||
var process_delta:float
|
||||
var state_duration:float = 0.0 ## Tracks how long we've been in state
|
||||
|
||||
var modifier: StateModifierMovement
|
||||
|
||||
|
|
@ -133,6 +134,8 @@ func get_climb_shape_location() -> Vector2:
|
|||
return Vector2(-1,-1)
|
||||
|
||||
func _on_state_change(old_state_name:String, new_state :State):
|
||||
## Reset State Duration Counter
|
||||
state_duration = 0.0
|
||||
###### State machine
|
||||
if new_state is StateAnimatedActor: #Testing this. Update: It works
|
||||
## Confirmed that I do neet to update the current_state with the passed state.
|
||||
|
|
|
|||
|
|
@ -338,7 +338,9 @@ func _state_process_physics_fall():
|
|||
var bar = $"%WallDetector".is_colliding()
|
||||
|
||||
#parent.get_node("CollisionShape2D").set_deferred("disabled", false)
|
||||
parent.set_collision_mask_bit(9,true)
|
||||
state_duration += physics_delta
|
||||
if (state_duration > .25):
|
||||
parent.set_collision_mask_bit(9,true)
|
||||
|
||||
if $"%LedgeDetector".is_colliding() and !$"%WallDetector".is_colliding():
|
||||
#print("it touched me!")
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user