/// <summary> /// /// </summary> /// <param name="moveThatHit"></param> /// <param name="hitBox"></param> /// <param name="hurtBox"></param> /// <returns></returns> private bool WasMoveBlocked(MoveData moveThatHit, Hitbox hitBox, Hitbox hurtBox) { CommandInterpreter.DIRECTION hitPlayerInputDirection = hurtBox.InteractionHandler.AssociatedCharacterStats.CommandInterpreter.CurrentDirection; CharacterInteractionHandler hurtInteractionHandler = hurtBox.InteractionHandler is CharacterInteractionHandler ? (CharacterInteractionHandler)hurtBox.InteractionHandler : null; if (hurtInteractionHandler == null) { return(false); } bool wasGuarded = hurtInteractionHandler.CanPlayerBlock; wasGuarded &= hurtInteractionHandler.Hitstun <= 0; if (!wasGuarded) { return(wasGuarded); } bool isCharacterCrouching = hurtInteractionHandler.MovementMechanics.IsCrouching; // Determine if blocked based on height switch (hurtInteractionHandler.CurrentHitFromMove.HitType) { case HitType.Low: wasGuarded &= isCharacterCrouching; break; case HitType.Air: wasGuarded &= !isCharacterCrouching; break; } if (!wasGuarded) { return(wasGuarded); } return(wasGuarded & (hitPlayerInputDirection == CommandInterpreter.DIRECTION.BACK || hitPlayerInputDirection == CommandInterpreter.DIRECTION.BACK_DOWN)); }
/// <summary> /// /// </summary> /// <param name="direction"></param> public void OnDirectionSet(CommandInterpreter.DIRECTION direction, Vector2Int directionOfJoystick) { float sizeOfImage = joystickImage.rectTransform.sizeDelta.x / 2; cursorImage.rectTransform.localPosition = new Vector2(directionOfJoystick.x, directionOfJoystick.y) * sizeOfImage; switch (direction) { case CommandInterpreter.DIRECTION.UP: return; case CommandInterpreter.DIRECTION.DOWN: return; case CommandInterpreter.DIRECTION.FORWARD: return; case CommandInterpreter.DIRECTION.BACK: return; case CommandInterpreter.DIRECTION.FORWARD_UP: return; case CommandInterpreter.DIRECTION.FORWARD_DOWN: return; case CommandInterpreter.DIRECTION.BACK_UP: return; case CommandInterpreter.DIRECTION.BACK_DOWN: return; case CommandInterpreter.DIRECTION.NEUTRAL: return; } }
private void JoystickDirectionSet(CommandInterpreter.DIRECTION direction, Vector2Int joystickDirectionVec) { SetHorizontalInput(joystickDirectionVec.x); SetVerticalInput(joystickDirectionVec.y); }