Compare commits

..

No commits in common. "0ac1c4abef9e9c891169a0813ef56c0b704c668c" and "26df8ef0c4cdddf4c8612622bb3ae44b45d0efe9" have entirely different histories.

21 changed files with 13 additions and 65 deletions

View File

@ -6,10 +6,9 @@ export var base_move_speed :Vector2
export var base_move_acceleration :Vector2
export var move_speed_modifier :Vector2
export var move_speed_modifier_acceleration :Vector2
export var jerk_factor :Vector2
var gravity: int = ProjectSettings.get_setting("physics/2d/default_gravity")
#var jerk: float = 0.0
var jerk: float = 0.0
## Can be set to help with debugging the velocity controller
export var debug_name :String
@ -29,7 +28,7 @@ func modify(_movement_parameters :MovementParameters):
func apply_multiple_modifiers( _modifiers: Array):
for m in _modifiers:
if m is StateModifierMovement:
if m is StateModifierAnimatedActor:
apply_state_modifier(m)
func apply_state_modifier(_modifier :StateModifierMovement):
@ -72,10 +71,10 @@ func apply_state_modifier(_modifier :StateModifierMovement):
move_speed_modifier_acceleration.y += _modifier.vertical_speed_offset_acceleration
UiManager.debug_text = ( #"H_Speed x Dir: " + str(h_speed) + str('duh') +
"BaseSpeed Fm:{0} To:{1}".format({"0":"%5.2f" % base_move_speed.x, "1":"%5.2f" % base_move_speed.y}) +
"\nSpeedMod Fm:{0} To:{1}".format({"0":"%5.2f" % move_speed_modifier.x, "1":"%5.2f" % move_speed_modifier.y}) +
"\nMoveAccel: {0}, {1}".format({"0":"%4.1f" % base_move_acceleration.x, "1":"%4.1f" % base_move_acceleration.y}) +
"\nType: " + str(_modifier.modifier_type)
"BaseSpeed Fm:{0} To:{1}".format({"0":"%5.2f" % base_move_speed.x, "1":"%5.2f" % base_move_speed.y}) +
"\nSpeedMod Fm:{0} To:{1}".format({"0":"%5.2f" % move_speed_modifier.x, "1":"%5.2f" % move_speed_modifier.y}) +
"\nMoveAccel: {0}, {1}".format({"0":"%4.1f" % base_move_acceleration.x, "1":"%4.1f" % base_move_acceleration.y}) +
"\nType: " + str(_modifier.modifier_type)
)

View File

@ -17,8 +17,6 @@ onready var parent: KinematicBody2D = get_parent()
export var callable_state_machine :NodePath
var request_state_change: FuncRef
var get_state_machine_modifiers: FuncRef #get_modifiers_of_type
onready var desired_movement_vector: Vector2 = Vector2(0,0)
# Since animactor state machine can actually view properties from this type
@ -46,7 +44,6 @@ func _ready():
## FuncRef to request state machine change state
request_state_change = funcref(get_node(callable_state_machine), 'change_to_known_state')
get_state_machine_modifiers = funcref(get_node(callable_state_machine), 'get_modifiers_of_type')
## Connect signal to get alerted of state change
get_node(callable_state_machine).connect("state_changed", self,"_on_state_change")
## Get notified when modifiers updated
@ -148,14 +145,10 @@ func _on_modifiers_updated(_modifier_type :int, _modifier_action :int, _merged_m
modifier = _merged_modifier
func apply_state_modifier(movement_parameters :MovementParameters) -> MovementParameters:
# if modifier and modifier.is_active:
# if (current_state.is_grounded and modifier.only_grounded): # Should we skip
# movement_parameters.apply_state_modifier(modifier)
var active_mods :bool= true
var mods :Array = get_state_machine_modifiers.call_func('StateModifierMovement', active_mods)
if (mods.size() > 0):
movement_parameters.apply_multiple_modifiers(mods)
if modifier and modifier.is_active:
if (current_state.is_grounded and modifier.only_grounded): # Should we skip
movement_parameters.apply_state_modifier(modifier)
return movement_parameters

View File

@ -24,9 +24,6 @@ export var vertical_speed_offset: float = 0
## Applies only if offset applies
export var vertical_speed_offset_acceleration: float = 0
export var horizontal_jerk_factor: float = 1.0
export var vertical_jerk_factor: float = 1.0
## Should this state keep the inertia from previous states
export var preserve_inertia :bool = true
@ -36,6 +33,8 @@ export var is_grounded :bool = true
## Default state gravity is the project's gravity
var gravity: int = ProjectSettings.get_setting("physics/2d/default_gravity")
var jerk: float
## Variables intended to allow state receivers to communicate
var animation_finished: bool = false
var animation_frame :int = -1
@ -51,7 +50,7 @@ func enter() -> void:
animation_finished = false
movement_stopped = false
animation_frame = -1
#jerk = 0
jerk = 0
return

View File

@ -76,15 +76,6 @@ func merge_modifiers():
if m.is_active:
this_mod_type.merge(m)
## When trying to get multiple modifiers
func get_modifiers_of_type(_modifier_type :String, _only_active: bool = false) -> Array:
var mod_array :Array = []
for m in state_modifiers:
if m.to_string() == _modifier_type:
if (_only_active and m.is_active) or _only_active == false:
mod_array.append(m)
return mod_array
# Change to the new state by first calling any exit logic on the current state.
func change_state(new_state: State) -> void:
var current_state_name :String

View File

@ -51,8 +51,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = true
animation_sequence = [ "hurt" ]

View File

@ -18,8 +18,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = true
animation_sequence = [ "attack-punch" ]

View File

@ -18,8 +18,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = true
animation_sequence = [ "attack-shoot" ]

View File

@ -18,8 +18,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = true
animation_sequence = [ "attack-sword" ]

View File

@ -17,8 +17,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = true
animation_sequence = [ "climb" ]

View File

@ -18,8 +18,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = true
animation_sequence = [ "idle-crouch" ]

View File

@ -18,8 +18,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = true
animation_sequence = [ "run_crouch" ]

View File

@ -18,8 +18,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = true
animation_sequence = [ "death" ]

View File

@ -17,8 +17,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = true
animation_sequence = [ "walk" ]

View File

@ -18,8 +18,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = false
animation_sequence = [ "jump" ]

View File

@ -18,8 +18,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = true
animation_sequence = [ "idle" ]

View File

@ -18,8 +18,6 @@ vertical_speed = 200.0
vertical_acceleration = 0.0
vertical_speed_offset = -208.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = false
animation_sequence = [ "jump" ]

View File

@ -18,8 +18,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = true
animation_sequence = [ "land" ]

View File

@ -18,8 +18,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = true
animation_sequence = [ "ledge-climb" ]

View File

@ -18,8 +18,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = true
animation_sequence = [ "ledge-grab" ]

View File

@ -18,8 +18,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = true
is_grounded = true
animation_sequence = [ "run" ]

View File

@ -18,8 +18,6 @@ vertical_speed = 0.0
vertical_acceleration = 0.0
vertical_speed_offset = 0.0
vertical_speed_offset_acceleration = 0.0
horizontal_jerk_factor = 1.0
vertical_jerk_factor = 1.0
preserve_inertia = false
is_grounded = true
animation_sequence = [ "roll" ]