Esempio n. 1
0
 public ChangePlayerStateToAfterAttack(Player Player, CooldownTracker Cooldown)
 {
     this.Player   = Player;
     this.Cooldown = Cooldown;
 }
Esempio n. 2
0
        private UpdateByState CreateUpdatesByState(Inputs Inputs)
        {
            var attackCooldwon = new CooldownTracker(20);
            var HurtCooldwon   = new CooldownTracker(10);

            var changesSpeed                = new IncreaseHorizontalVelocity(this, 10);
            var decreaseVelocity            = new DecreaseHorizontalVelocity(this, 5);
            var limitHorizontalVelocity     = new LimitHorizontalVelocity(this, 100);
            var gravityChangesVerticalSpeed = new GravityChangesVerticalSpeed(this);

            var ChangePlayerStateToFalling     = new ChangePlayerStateToFalling(this);
            var changePlayerToIdle             = new ChangePlayerStateToIdle(this);
            var changePlayerToWalking          = new ChangePlayerStateToWalking(this);
            var ChangePlayerToJumpingState     = new ChangePlayerStateToJumping(this);
            var changePlayerStateToCrouch      = new ChangePlayerStateToCrouch(this);
            var changePlayerStateToLookingUp   = new ChangePlayerStateToLookingUp(this);
            var ChangePlayerStateToAttack      = new ChangePlayerStateToAttack(this, attackCooldwon);
            var ChangePlayerStateToAfterAttack = new ChangePlayerStateToAfterAttack(this, attackCooldwon);
            var ChangePlayerStateToHurt        = new ChangePlayerStateToHurt(this, HurtCooldwon);
            var ChangePlayerStateToAfterHurt   = new ChangePlayerStateToAfterHurt(this, HurtCooldwon);

            var updateByState = new UpdateByState(this);

            updateByState.Add(PlayerState.IDLE, new UpdateAggregation(
                                  gravityChangesVerticalSpeed
                                  , decreaseVelocity
                                  , ChangePlayerStateToFalling
                                  , changePlayerToWalking
                                  , ChangePlayerToJumpingState
                                  , changePlayerStateToCrouch
                                  , changePlayerStateToLookingUp
                                  , ChangePlayerStateToAttack
                                  , ChangePlayerStateToHurt
                                  ));

            updateByState.Add(PlayerState.FALLING, new UpdateAggregation(
                                  gravityChangesVerticalSpeed
                                  , changePlayerToWalking
                                  , changePlayerToIdle
                                  , changePlayerStateToCrouch
                                  , changePlayerStateToLookingUp
                                  , ChangePlayerStateToHurt
                                  ));

            updateByState.Add(PlayerState.WALKING, new UpdateAggregation(
                                  gravityChangesVerticalSpeed
                                  , limitHorizontalVelocity
                                  , changesSpeed
                                  , changePlayerToWalking
                                  , ChangePlayerToJumpingState
                                  , ChangePlayerStateToFalling
                                  , changePlayerToIdle
                                  , changePlayerStateToCrouch
                                  , changePlayerStateToLookingUp
                                  , ChangePlayerStateToAttack
                                  , ChangePlayerStateToHurt
                                  ));

            updateByState.Add(PlayerState.JUMP, new UpdateAggregation(
                                  gravityChangesVerticalSpeed
                                  , ChangePlayerStateToFalling
                                  , ChangePlayerStateToHurt
                                  ));

            updateByState.Add(PlayerState.CROUCH, new UpdateAggregation(
                                  gravityChangesVerticalSpeed
                                  , decreaseVelocity
                                  , changePlayerToWalking
                                  , changePlayerToIdle
                                  , ChangePlayerStateToFalling
                                  , changePlayerStateToLookingUp
                                  , ChangePlayerStateToHurt
                                  ));

            updateByState.Add(PlayerState.LOOKING_UP, new UpdateAggregation(
                                  gravityChangesVerticalSpeed
                                  , decreaseVelocity
                                  , changePlayerToWalking
                                  , changePlayerToIdle
                                  , ChangePlayerStateToFalling
                                  , changePlayerStateToCrouch
                                  , ChangePlayerStateToHurt
                                  ));

            updateByState.Add(PlayerState.ATTACK, new UpdateAggregation(
                                  gravityChangesVerticalSpeed
                                  , decreaseVelocity
                                  , ChangePlayerStateToAfterAttack
                                  , ChangePlayerStateToHurt
                                  ));

            updateByState.Add(PlayerState.AFTER_ATTACK, new UpdateAggregation(
                                  gravityChangesVerticalSpeed
                                  , decreaseVelocity
                                  , changePlayerToIdle
                                  , changePlayerToWalking
                                  , ChangePlayerStateToFalling
                                  , changePlayerStateToCrouch
                                  , ChangePlayerStateToHurt
                                  ));

            updateByState.Add(PlayerState.HURT, new UpdateAggregation(
                                  gravityChangesVerticalSpeed
                                  , decreaseVelocity
                                  , ChangePlayerStateToAfterHurt
                                  ));

            updateByState.Add(PlayerState.AFTER_HURT, new UpdateAggregation(
                                  gravityChangesVerticalSpeed
                                  , decreaseVelocity
                                  , changePlayerToIdle
                                  , changePlayerToWalking
                                  , ChangePlayerStateToFalling
                                  , changePlayerStateToCrouch
                                  , ChangePlayerStateToHurt
                                  ));

            return(updateByState);
        }
Esempio n. 3
0
 public ChangePlayerStateToHurt(Player Player, CooldownTracker HurtCooldwon)
 {
     this.Player       = Player;
     this.HurtCooldwon = HurtCooldwon;
 }