Beispiel #1
0
        public Character(Entity owner, Character original) : base(owner, original)
        {
            m_movementState  = new MovementStateMachine(this);
            PrevAcceleration = original.PrevAcceleration;
            HorAcc           = original.HorAcc;
            MaxSpeed         = original.MaxSpeed;

            GroundFriction = original.GroundFriction;
            AirFriction    = original.AirFriction;
            MovingFriction = original.MovingFriction;
            AirMove        = original.AirMove;

            JumpTrigger = new AABBTrigger(owner, original.JumpTrigger);

            Grounded         = false;
            PrevGrounded     = original.PrevGrounded;
            FallVelocity     = original.FallVelocity;
            JumpDuration     = original.JumpDuration;
            _jumpClock       = 0;
            JumpSpeed        = original.JumpSpeed;
            FallAcceleration = original.FallAcceleration;
            TerminalVelocity = original.TerminalVelocity;
            MaxJumps         = original.MaxJumps;
            JumpWait         = false;
            JumpDelay        = original.JumpDelay;
        }
Beispiel #2
0
        public Character(Entity owner) : base(owner)
        {
            Velocity     = new Vector2(0, 0);
            Acceleration = new Vector2(0, 0);
            HorAcc       = 16;
            MaxSpeed     = 8;

            GroundFriction = 1000;
            AirFriction    = 40;
            MovingFriction = 100;
            AirMove        = 0.4f;

            JumpTrigger           = new AABBTrigger(owner);
            JumpTrigger.Rectangle = new RectangleF(new Vector2(0, -1.0f), 1, 0.5f);

            JumpDuration     = 0.3f;
            _jumpClock       = 0;
            JumpSpeed        = 14.0f;
            FallAcceleration = -40.0f;
            TerminalVelocity = -30.0f;
            MaxJumps         = 1;
            JumpWait         = false;
            JumpDelay        = 0.1;     //may want to remove variable?

            FollowOffset = new Vector2(5, 0);

            m_movementState = new MovementStateMachine(this, MovementStateMachine.Action.Standing);
        }
Beispiel #3
0
        public Character(MovementStateMachine movementState, Vector2 prevAcceleration, float horAcc, float maxSpeed, float groundFriction, float airFriction, float movingFriction, float airMove, AABBTrigger jumpTrigger, bool grounded, bool prevGrounded, double jumpDuration, float jumpSpeed, float fallAcceleration, float terminalVelocity, int maxJumps, double jumpDelay)
        {
            Velocity         = new Vector2(0, 0);
            Acceleration     = new Vector2(0, 0);
            m_movementState  = movementState;
            PrevAcceleration = prevAcceleration;
            HorAcc           = horAcc;
            MaxSpeed         = maxSpeed;

            GroundFriction = groundFriction;
            AirFriction    = airFriction;
            MovingFriction = movingFriction;
            AirMove        = airMove;

            JumpTrigger = new AABBTrigger(_owner, jumpTrigger);

            Grounded         = grounded;
            PrevGrounded     = prevGrounded;
            FallVelocity     = 0f;
            JumpDuration     = jumpDuration;
            _jumpClock       = 0;
            JumpSpeed        = jumpSpeed;
            FallAcceleration = fallAcceleration;
            TerminalVelocity = terminalVelocity;
            MaxJumps         = maxJumps;
            JumpWait         = false;
            JumpDelay        = jumpDelay;
        }