public KnockdownInfo(Target target, float successRate, float delayToApply, WeightLevel level, float height, float timeToPeak, float timeToGround, float distance, float lieDuration, float lieToIdleDuration, float floatingDur, bool enableWallHit, SsarTuple <AnimMix, PlayMethod, float>[] animationMixingTable, List <JumpAction.Event> events, List <VfxConfig> vfxs, MovementBehavior movementBehavior, FacingBehavior facingBehavior, Requirement requirement, List <LifetimeConfig> lifetimeConfigs, bool moveHorizontallyWhenFloat, bool stopHorizontalMovementWhenMeet, string icon = BaseModifierConfig.NO_ICON) { this.target = target; this.successRate = successRate; this.delayToApply = delayToApply; this.level = level; this.height = height; this.timeToPeak = timeToPeak; this.timeToGround = timeToGround; this.distance = distance; this.lieDuration = lieDuration; this.lieToIdleDuration = lieToIdleDuration; this.floatingDur = floatingDur; this.enableWallHit = enableWallHit; this.animationMixingTable = animationMixingTable; this.vfxs = vfxs; this.movementBehavior = movementBehavior; this.facingBehavior = facingBehavior; this.requirement = requirement; this.lifetimeConfigs = lifetimeConfigs; this.moveHorizontallyWhenFloat = moveHorizontallyWhenFloat; this.stopHorizontalMovementWhenMeet = stopHorizontalMovementWhenMeet; this.icon = icon; this.events.AddRange(events); }
public StaggerInfo(Target target, Skill parentSkill, float distance, float movementDuration, float successRate, float delayToApply, WeightLevel level, Behavior[] behaviors, string overrideAnimation, List <VfxConfig> vfxs, MovementBehavior movementBehavior, FacingBehavior facingBehavior, StaggerModifierConfig.Requirement requirement, List <LifetimeConfig> lifetimeConfigs, string loopAnimation = null, float crossfadeLength = 0.1f, int animFrame = 0, string icon = BaseModifierConfig.NO_ICON) { this.target = target; this.parentSkill = parentSkill; this.distance = distance; this.movementDuration = movementDuration; this.successRate = successRate; this.delayToApply = delayToApply; this.level = level; this.overrideAnimation = overrideAnimation; this.vfxs = vfxs; this.movementBehavior = movementBehavior; this.facingBehavior = facingBehavior; this.requirement = requirement; this.lifetimeConfigs = lifetimeConfigs; this.loopAnimation = loopAnimation; this.crossfadeLength = crossfadeLength; this.animFrame = animFrame; this.icon = icon; if (behaviors != null) { this.behaviors = behaviors; } }
public DashInfo(Target target, Skill parentSkill, float distance, float movementDuration, float successRate, float delayToApply, WeightLevel level, Behavior[] behaviors, string overrideAnimation, List <VfxConfig> vfxs, MovementBehavior movementBehavior, FacingBehavior facingBehavior, bool enableAnim, List <LifetimeConfig> lifetimeConfigs) : base(target, parentSkill, distance, movementDuration, successRate, delayToApply, level, behaviors, overrideAnimation, vfxs, movementBehavior, facingBehavior, StaggerModifierConfig.Requirement.Any, lifetimeConfigs) { this.enableAnim = enableAnim; }
public static Direction CalculateFacingDirection(MovementComponent casterMovementComponent, MovementComponent targetMovementComponent, Vector3 collidedProjectilePosition, FacingBehavior facingBehavior, Direction movementDirection) { Vector3 casterPosition = casterMovementComponent.Position; Vector3 targetPosition = targetMovementComponent.Position; Vector2 directionFromTargetToCaster = casterPosition - targetPosition; Vector2 directionFromTargetToProjectile = collidedProjectilePosition - targetPosition; Direction direction = Direction.Right; switch (facingBehavior) { case FacingBehavior.TowardCaster: direction = directionFromTargetToCaster.ToLeftOrRightDirectionEnum(); break; /*case FacingBehavior.AwayFromCaster: * direction = directionFromTargetToCaster.ToLeftOrRightDirectionEnum().Opposite(); * break;*/ case FacingBehavior.TowardProjectile: direction = directionFromTargetToProjectile.ToLeftOrRightDirectionEnum(); break; /*case FacingBehavior.AwayFromProjectile: * direction = directionFromTargetToProjectile.ToLeftOrRightDirectionEnum().Opposite(); * break;*/ case FacingBehavior.FollowCasterFacing: direction = casterMovementComponent.FacingDirection; break; case FacingBehavior.OppositeCasterFacing: direction = casterMovementComponent.FacingDirection.Opposite(); break; /*case FacingBehavior.FollowMovement: * direction = movementDirection; * break; * case FacingBehavior.OppositeMovement: * direction = movementDirection.Opposite(); * break;*/ case FacingBehavior.Current: direction = targetMovementComponent.FacingDirection; break; default: throw new Exception("Missing logic to calculate facing direction of " + facingBehavior); } return(direction); }
public TripInfo(Target target, float successRate, float delayToApply, WeightLevel level, float height, float timeToPeak, float timeToGround, float distance, float lieDuration, float lieToIdleDuration, float floatingDur, bool enableWallHit, SsarTuple <AnimMix, PlayMethod, float>[] animationMixingTable, List <JumpAction.Event> events, List <VfxConfig> vfxs, MovementBehavior movementBehavior, FacingBehavior facingBehavior, Requirement requirement, List <LifetimeConfig> lifetimeConfigs, bool moveHorizontallyWhenFloat, bool stopHorizontalMovementWhenMeet) : base(target, successRate, delayToApply, level, height, timeToPeak, timeToGround, distance, lieDuration, lieToIdleDuration, floatingDur, enableWallHit, animationMixingTable, events, vfxs, movementBehavior, facingBehavior, requirement, lifetimeConfigs, moveHorizontallyWhenFloat, stopHorizontalMovementWhenMeet) { }
public BlastInfo(Target target, float successRate, float delayToApply, WeightLevel level, float height, float timeToPeak, float timeToGround, float flightDistance, float flightMinSpeed, float rollDistance, float timeToRoll, float timeToLie, float lieToIdleDuration, bool enableWallHit, SsarTuple <AnimMix, PlayMethod, float>[] animationMixingTable, List <JumpAction.Event> events, BlastModifierConfig.AnimationProfile animationProfile, List <VfxConfig> vfxs, MovementBehavior movementBehavior, FacingBehavior facingBehavior, Requirement requirement, List <LifetimeConfig> lifetimeConfigs, string icon = BaseModifierConfig.NO_ICON) { this.target = target; this.successRate = successRate; this.delayToApply = delayToApply; this.level = level; this.height = height; this.timeToPeak = timeToPeak; this.timeToGround = timeToGround; this.flightDistance = flightDistance; this.flightMinSpeed = flightMinSpeed; this.rollDistance = rollDistance; this.timeToRoll = timeToRoll; this.timeToLie = timeToLie; this.lieToIdleDuration = lieToIdleDuration; this.enableWallHit = enableWallHit; this.animationMixingTable = animationMixingTable; this.animationProfile = animationProfile; this.vfxs = vfxs; this.movementBehavior = movementBehavior; this.facingBehavior = facingBehavior; this.requirement = requirement; this.lifetimeConfigs = lifetimeConfigs; this.icon = icon; this.events.AddRange(events); }