Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
 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;
     }
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 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)
 {
 }
Exemplo n.º 6
0
 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);
 }