internal LSLConstantJumpDescription GetConstantJump() { if (!HasElseIfStatements && !HasElseStatement) { return(null); } var cmp = new JumpCmp(); var i = new HashSet <LSLConstantJumpDescription>(IfStatement.ConstantJumps, cmp); if (HasElseIfStatements) { foreach (var node in ElseIfStatements) { var ie = new HashSet <LSLConstantJumpDescription>(node.ConstantJumps, cmp); i.IntersectWith(ie); } } if (HasElseStatement) { var e = new HashSet <LSLConstantJumpDescription>(ElseStatement.ConstantJumps, cmp); i.IntersectWith(e); } var x = i.SingleOrDefault(); if (x != null) { x = new LSLConstantJumpDescription(x, this); } return(x); }
}//FixedUpdate public void Update() { if (Physics2D.gravity.y != -Gravity) { Physics2D.gravity = new Vector2(Physics2D.gravity.x, -Gravity); } Vector3 deltaMovement = velocity; float horizontalAxis = Input.GetAxis("Horizontal"); deltaMovement.x = horizontalAxis * Time.deltaTime * ActiveSpeed; if (horizontalAxis < 0 && IsFacingRight) { Flip(); } if (horizontalAxis > 0 && !IsFacingRight) { Flip(); } //if (Input.GetButtonDown(JumpCmp.Props.JumpInputName)) { // deltaMovement.y = JumpCmp.Jump(deltaMovement).y; //} //if (Input.GetButtonUp(JumpCmp.Props.JumpInputName)) { // bIsStopJump = true; //} if (bIsStopJump) { if (JumpCmp.IsMinHeightReached) { deltaMovement.y = JumpCmp.Stop(deltaMovement).y; bIsStopJump = false; } } //_jumpControls.OnJump(ref deltaMovement); //_jumpControls.JumpCorrection(ref deltaMovement, 1); deltaMovement.y += Physics2D.gravity.y * Time.deltaTime; _collisionDetection.Move(ref deltaMovement); if (Mathf.Abs(deltaMovement.y) <= 0.001) { deltaMovement.y = 0; } velocity = deltaMovement; transform.Translate(velocity); }//Update