public void OnStart(bool jump = false) { // ADD SCRIPT stateScriptHandle = fighter.Machine.AddScript(scripts); if (isShortcut) { fighter.stateMachine.JumpToState(targetState); return; } time.Reset(); if (containedNodes.Count <= 0) { currentData = UnityEngine.Object.Instantiate(data); currentData.Initialize(fighter); currentData.Invert = invert; currentData.OnStart(); } else { if (!jump) { machine.PushState(startState); } } }
public Vector2 GetRawVelocity() { LZFighterFrame frame = CurrentFrame; LZFighterStateData state = CurrentStateData; StateMachineNode stateNode = stateMachine.CurrentState; return(frame.velocity + state.velocity + stateNode.velocity); }
public Vector2 GetVelocity() { LZFighterFrame frame = CurrentFrame; LZFighterStateData state = CurrentStateData; StateMachineNode stateNode = stateMachine.CurrentState; Vector2 velocity = frame.velocity + state.velocity + stateNode.velocity; velocity *= internalVelocityStrength; if (velocityModifier != null) { foreach (var modifier in velocityModifier.GetInvocationList()) { velocity = (Vector2)modifier.DynamicInvoke(velocity); } //velocity /= velocityModifier.GetInvocationList().Length + 1f; } if (invertHorizontal) { velocity = new Vector2(-velocity.x, velocity.y); } return(velocity); }