Example #1
0
		public virtual void CacheMovement(Facing direction, MovementSpeed speed) {
			if (this.CacheMovements) {
				this.Queue.Enqueue(new Movement(direction, speed));
			} else {
				this.Entity.TryMove(direction, speed);
			}
		}
 public ReqMoveMessage(ushort X = 0, ushort Y = 0, MovementSpeed MoveMode = 0, uint CurrentMapID = 0) 
     : base(MessageTypeGameMode.ReqMove)
 {
     this.Y = Y;
     this.X = X;
     this.MoveMode = MoveMode;
     this.CurrentMapID = CurrentMapID;
 }
        public static void MoveTo(this IMouse mouse, Coordinate target, MovementSpeed movementSpeed = MovementSpeed.Instant)
        {
            if (MovementSpeed.Instant.Equals(movementSpeed))
            {
                mouse.PositionCursor(target);
                return;
            }

            var pixelsPerSecond = TranslateMovementSpeedToPixelsPerSecond(movementSpeed);
            MoveTo(mouse, target, pixelsPerSecond);
        }
 private static int TranslateMovementSpeedToPixelsPerSecond(MovementSpeed movement)
 {
     switch (movement)
     {
         case MovementSpeed.Slow:
             return 200;
         case MovementSpeed.Medium:
             return 400;
         case MovementSpeed.Fast:
             return 800;
         default:
             return 400;
     }
 }
Example #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Move3DByAnimation" /> class.
 /// </summary>
 /// <param name="targetObject">The target object.</param>
 /// <param name="targetVector">The target position of the object.</param>
 ///ยด<param name="speed">The total movement speed.</param>
 public Move3DToAnimation(IAnimatableObjectPosition targetObject, Vector3 targetVector, MovementSpeed speed)
     : base(targetObject)
 {
     _targetObject   = targetObject;
     _targetVector   = targetVector;
     _paramMoveSpeed = speed;
 }
Example #6
0
 public MoveMessage(uint ObjectID, ushort NewCoordinateX, ushort NewCoordinateY, MovementSpeed MovementSpeed, bool RotateToDestination = false) 
     : base(MessageTypeGameMode.Move)
 {
     this.ObjectID = ObjectID;
     this.NewCoordinateY = NewCoordinateY;
     this.NewCoordinateX = NewCoordinateX;
     this.MovementSpeed = MovementSpeed;
     this.RotateToDestination = RotateToDestination;
 }
Example #7
0
		public IEncodable Decode(BinaryInput stream) {
			this.Facing = (Facing) stream.ReadByte();
			this.Speed = (MovementSpeed) stream.ReadByte();
			return this;
		}
 /// <summary>
 /// Moves current object by the given move vector.
 /// </summary>
 /// <typeparam name="THostObject">The type of the ost object.</typeparam>
 /// <typeparam name="TTargetObject">The type of the target object.</typeparam>
 /// <param name="sequenceBuilder">AnimationSequenceBuilder building the animation.</param>
 /// <param name="targetObject">The target object.</param>
 /// <param name="moveVector">The move vector.</param>
 /// <param name="speed">Total speed of the movement animation.</param>
 public static IAnimationSequenceBuilder <THostObject> Move2DBy <THostObject, TTargetObject>(this IAnimationSequenceBuilder <THostObject> sequenceBuilder, TTargetObject targetObject, Vector2 moveVector, MovementSpeed speed)
     where THostObject : class
     where TTargetObject : class, IAnimatableObjectPosition2D
 {
     sequenceBuilder.Add(
         new Move2DByAnimation(targetObject, moveVector, speed));
     return(sequenceBuilder);
 }
 public MoveMessage(uint ObjectID, ushort NewCoordinateX, ushort NewCoordinateY, MovementSpeed MovementSpeed, ushort Angle, bool RotateToDestination = false)
     : base(MessageTypeGameMode.Move)
 {
     this.ObjectID            = ObjectID;
     this.NewCoordinateY      = NewCoordinateY;
     this.NewCoordinateX      = NewCoordinateX;
     this.MovementSpeed       = MovementSpeed;
     this.RotateToDestination = RotateToDestination;
     this.Angle = Angle;
 }
Example #10
0
 private void ApplySpeed(MovementSpeed movementSpeed)
 {
     _characterMotor.movement.maxForwardSpeed   = movementSpeed.maxForwardSpeed * EncumberanceModifier;
     _characterMotor.movement.maxSidewaysSpeed  = movementSpeed.maxSidewaysSpeed * EncumberanceModifier;
     _characterMotor.movement.maxBackwardsSpeed = movementSpeed.maxBackwardsSpeed * EncumberanceModifier;
 }
 /// <summary>
 /// Moves current object to the given target position.
 /// </summary>
 /// <param name="sequenceBuilder">AnimationSequenceBuilder building the animation.</param>
 /// <param name="targetVector">The target position for the object.</param>
 /// <param name="speed">Speed configuration for the movement.</param>
 public static IAnimationSequenceBuilder <TTargetObject> Move2DTo <TTargetObject>(this IAnimationSequenceBuilder <TTargetObject> sequenceBuilder, Vector2 targetVector, MovementSpeed speed)
     where TTargetObject : class, IAnimatableObjectPosition2D
 {
     sequenceBuilder.Add(
         new Move2DToAnimation(sequenceBuilder.TargetObject, targetVector, speed));
     return(sequenceBuilder);
 }
Example #12
0
 /// <summary>
 /// Moves current object to the given target position.
 /// </summary>
 /// <typeparam name="HostObject">The type of the ost object.</typeparam>
 /// <typeparam name="TargetObject">The type of the arget object.</typeparam>
 /// <param name="sequenceBuilder">AnimationSequenceBuilder building the animation.</param>
 /// <param name="targetObject">The target object.</param>
 /// <param name="targetVector">The target position for the object.</param>
 /// <param name="speed">The speed for animation calculation.</param>
 /// <returns></returns>
 public static IAnimationSequenceBuilder <HostObject> Move3DTo <HostObject, TargetObject>(this IAnimationSequenceBuilder <HostObject> sequenceBuilder, TargetObject targetObject, Vector3 targetVector, MovementSpeed speed)
     where TargetObject : class, IAnimatableObjectPosition
     where HostObject : class
 {
     sequenceBuilder.Add(
         new Move3DToAnimation(targetObject, targetVector, speed));
     return(sequenceBuilder);
 }
Example #13
0
 /// <summary>
 /// Moves current object by the given move vector.
 /// </summary>
 /// <param name="sequenceBuilder">AnimationSequenceBuilder building the animation.</param>
 /// <param name="moveVector">The move vector.</param>
 /// <param name="speed">Total speed of the movement animation.</param>
 public static IAnimationSequenceBuilder <TargetObject> Move3DBy <TargetObject>(this IAnimationSequenceBuilder <TargetObject> sequenceBuilder, Vector3 moveVector, MovementSpeed speed)
     where TargetObject : class, IAnimatableObjectPosition
 {
     sequenceBuilder.Add(
         new Move3DByAnimation(sequenceBuilder.TargetObject, moveVector, speed));
     return(sequenceBuilder);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="Move2DByAnimation" /> class.
 /// </summary>
 /// <param name="targetObject">The target object.</param>
 /// <param name="targetVector">The target position of the object.</param>
 ///ยด<param name="speed">The total movement speed.</param>
 public Move2DToAnimation(IAnimatableObjectPosition2D targetObject, Vector2 targetVector, MovementSpeed speed)
     : base(targetObject)
 {
     m_targetObject   = targetObject;
     m_targetVector   = targetVector;
     m_paramMoveSpeed = speed;
 }
Example #15
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Move2DByAnimation"/> class.
        /// </summary>
        /// <param name="targetObject">The target object.</param>
        /// <param name="moveVector">The move vector.</param>
        /// <param name="moveSpeed">The speed which is used for movement calculation.</param>
        public Move2DByAnimation(IAnimatableObjectPosition2D targetObject, Vector2 moveVector, MovementSpeed moveSpeed)
            : base(targetObject)
        {
            _targetObject = targetObject;
            _moveVector   = moveVector;
            _moveHelper   = new MovementAnimationHelper(moveSpeed, new Vector3(moveVector, 0f));

            // Switch animation to fixed-time type
            this.ChangeToFixedTime(_moveHelper.MovementTime);
        }
Example #16
0
 public RequestingMoveArgs(Facing direction, MovementSpeed speed)
 {
     this.Direction = direction;
     this.Speed     = speed;
 }
Example #17
0
        public virtual void ForceMove(Facing dir, MovementSpeed speed)
        {
            if (MovementState == MovementState.None)
            {
                this.Initialize();
                BeginMoving.SafeInvoke(this, EventArgs.Empty);
                if (this.Facing != dir)
                {
                    FacingChanged.SafeInvoke(this, new FacingChangedArgs(this.Facing, dir));
                }
                this.Facing = dir;

                switch (dir)
                {
                case Facing.Up:
                    if (speed == MovementSpeed.Walking)
                    {
                        Animator.Play("walking-up");
                    }
                    else if (speed == MovementSpeed.Running)
                    {
                        Animator.Play("running-up");
                    }
                    break;

                case Facing.Down:
                    if (speed == MovementSpeed.Walking)
                    {
                        Animator.Play("walking-down");
                    }
                    else if (speed == MovementSpeed.Running)
                    {
                        Animator.Play("running-down");
                    }
                    break;

                case Facing.Left:
                    if (speed == MovementSpeed.Walking)
                    {
                        Animator.Play("walking-left");
                    }
                    else if (speed == MovementSpeed.Running)
                    {
                        Animator.Play("running-left");
                    }
                    break;

                case Facing.Right:
                    if (speed == MovementSpeed.Walking)
                    {
                        Animator.Play("walking-right");
                    }
                    else if (speed == MovementSpeed.Running)
                    {
                        Animator.Play("running-right");
                    }
                    break;
                }

                this.movement      = -(dir.ToVector2() * new Vector2(16, 16));
                this.MovementSpeed = speed;
                this.MovementState = MovementState.Walking;
                this.Position     -= this.movement;
            }
        }
    void Update()
    {
        //DebugMenu
        debugMenu = dayNight.debugMenu;
        //

        if (Input.GetButtonDown("Flymode") && !gameOver)
        {
            flymode  = !flymode;
            velocity = new Vector3(0, 0, 0);
        }

        if (lockInput)
        {
            yRotation  = Input.GetAxis("Mouse X") * xSensitivity;
            xRotation += Input.GetAxis("Mouse Y") * ySensitivity;
            if (xRotation > 90)
            {
                xRotation = 90;
            }
            else if (xRotation < -90)
            {
                xRotation = -90;
            }
            renderCamera.transform.localRotation = Quaternion.Euler(-xRotation, 0, 0);
            transform.Rotate(new Vector3(0, yRotation, 0));
        }

        if (Input.GetButtonDown("Jump") && (grounded || flymode) && !gameOver)
        {
            doJump = true;
        }
        else if (Input.GetButtonUp("Jump") && !gameOver)
        {
            doJump = false;
        }
        if (Input.GetButton("Sprint"))
        {
            currentSpeed = MovementSpeed.sprinting;
        }
        else if (Input.GetButton("Walk") && !toggleWalk)
        {
            currentSpeed = MovementSpeed.walking;
        }
        else
        {
            currentSpeed = MovementSpeed.jogging;
        }
        if (Input.GetButtonDown("Auto move") && !gameOver)
        {
            autoMove            = !autoMove;
            autoMoveLockForward = autoMove;
        }

        if (Input.GetButtonDown("Fire1") && currentBlinkPoints > .5 * defaultBlinkPoints && blinkCooldownTimer < 0 && !debugMenu && !gameOver)
        {
            blinking = true;
        }
        if (Input.GetButtonUp("Fire1") && blinking && !gameOver)
        {
            blinking           = false;
            blinkCooldownTimer = blinkCooldown;
        }
        blinkCooldownTimer -= Time.deltaTime;
        if (blinking)
        {
            blinkFactor        += Time.deltaTime * 8;
            currentBlinkPoints -= blinkFactor * Time.deltaTime * blinkDecreaseRate;
            if (currentBlinkPoints < 0)
            {
                blinking = false;
            }
        }
        else
        {
            blinkFactor -= Time.deltaTime * 2;
            if (currentBlinkPoints < defaultBlinkPoints)
            {
                currentBlinkPoints += (1 - blinkFactor) * Time.deltaTime * blinkIncreaseRate;
                currentBlinkPoints  = Mathf.Clamp(currentBlinkPoints, 0, defaultBlinkPoints);
            }
        }
        if (!grounded && currentBlinkPoints < 100)
        {
            currentBlinkPoints += (1 - blinkFactor) * Time.deltaTime * blinkVelocityIncreaseRate * velocity.magnitude;
            currentBlinkPoints  = Mathf.Clamp(currentBlinkPoints, 0, 100);
        }
        else if (grounded && currentBlinkPoints > defaultBlinkPoints)
        {
            currentBlinkPoints -= (1 - blinkFactor) * Time.deltaTime * blinkGroundedDecreaseRate;
            currentBlinkPoints  = Mathf.Clamp(currentBlinkPoints, defaultBlinkPoints, 100);
        }
        blinkFactor = Mathf.Clamp(blinkFactor, 0, 1);
        blinkDistortionEffect.intensity = blinkFactor * 80;
        uiBlinkFillBar.fillAmount       = currentBlinkPoints / 100f;
        uiHealthBar.fillAmount          = currentHealth / 100;
        if (currentBlinkPoints < defaultBlinkPoints * .5f)
        {
            uiBlinkFillBar.color = Color.red;
        }
        else if (currentBlinkPoints > defaultBlinkPoints * 1.01f)
        {
            uiBlinkFillBar.color = Color.green;
        }
        else
        {
            uiBlinkFillBar.color = Color.white;
        }

        float forwardInput = Input.GetAxisRaw("Vertical");
        float rightInput   = Input.GetAxisRaw("Horizontal");

        if (autoMove && !gameOver)
        {
            if (forwardInput < -.25f)
            {
                autoMove = false;
            }
            if (forwardInput > .25f)
            {
                if (!autoMoveLockForward)
                {
                    autoMove = false;
                }
            }
            else
            {
                autoMoveLockForward = false;
            }
            if (autoMove)
            {
                forwardInput = 1;
            }
        }
        if (flymode && !gameOver)
        {
            moveDirection.z = Mathf.Sin(-yRotation / 180f * Mathf.PI) * rightInput + Mathf.Cos(-yRotation / 180f * Mathf.PI) * forwardInput * Mathf.Cos(xRotation / 180f * Mathf.PI);
            moveDirection.x = Mathf.Cos(yRotation / 180f * Mathf.PI) * rightInput + Mathf.Sin(yRotation / 180f * Mathf.PI) * forwardInput * Mathf.Cos(xRotation / 180f * Mathf.PI);
            moveDirection.y = Mathf.Sin(xRotation / 180f * Mathf.PI) * forwardInput;
        }
        else
        {
            moveDirection.z = forwardInput;
            moveDirection.x = rightInput;
        }
        if (moveDirection.magnitude < .01 && moveDirection.magnitude > -.01 && !doJump)
        {
            currentSpeed = MovementSpeed.idle;
        }
        moveDirection.Normalize();
        if (debugMenu)
        {
            SetCursorLock(false);
        }
        else if (Input.GetKeyUp(KeyCode.Escape))
        {
            SetCursorLock(false);
        }
        else if (Input.GetMouseButtonUp(0))
        {
            SetCursorLock(true);
        }

        hitShader.blur = .5f * (hitFXTimer / hitFXDuration);
        hitShader.chromaticAberration = 15 * (hitFXTimer / hitFXDuration);
        hitFXTimer -= Time.deltaTime;
        if (hitFXTimer < 0)
        {
            hitFXTimer = 0;
        }
        if (gameOver)
        {
            uiGameOverGroup.alpha += Time.deltaTime;
        }
    }
 public void MoveStar(MovementSpeed speed)
 {
     this._xPos += (((_xSpd + ((int)speed)) / 4) * ((((_steps / 10) > 0) ? (_steps / 10) : 1) * System.Math.Sign(_xSpd))) - 1;
     this._yPos += (((_ySpd + ((int)speed)) / 4) * ((((_steps / 10) > 0) ? (_steps / 10) : 1) * System.Math.Sign(_ySpd))) - 1;
     if (_steps < 255)
         this._steps += 3;
 }
Example #20
0
		public virtual void TryMove(Facing dir, MovementSpeed speed) {
			if (Movable) {
				RequestingMove.SafeInvoke(this, new RequestingMoveArgs(dir, speed));

				if (CanMove(dir)) {
					ForceMove(dir, speed);
				} else {
					Face(dir);
					Lock(GetAnimation("walking-up").TimePerFrame * ((GetAnimation("walking-up").Indices.Count - 1) / 2));
					switch (dir) {
						case Facing.Up:
							Animator.Play("walking-up");
							break;
						case Facing.Down:
							Animator.Play("walking-down");
							break;
						case Facing.Left:
							Animator.Play("walking-left");
							break;
						case Facing.Right:
							Animator.Play("walking-right");
							break;
					}
				}
			}
		}
 public static void DragAndDrop(this IMouse mouse, Coordinate origin, Coordinate target, MovementSpeed movementSpeed = MovementSpeed.Medium)
 {
     mouse.LeftDown(origin);
     mouse.MoveTo(target, movementSpeed);
     mouse.LeftUp(target);
 }
Example #22
0
		public virtual void ForceMove(Facing dir, MovementSpeed speed) {
			if (MovementState == MovementState.None) {
				this.Initialize();
				BeginMoving.SafeInvoke(this, EventArgs.Empty);
				if (this.Facing != dir) FacingChanged.SafeInvoke(this, new FacingChangedArgs(this.Facing, dir));
				this.Facing = dir;

				switch (dir) {
					case Facing.Up:
						if (speed == MovementSpeed.Walking)
							Animator.Play("walking-up");
						else if (speed == MovementSpeed.Running)
							Animator.Play("running-up");
						break;
					case Facing.Down:
						if (speed == MovementSpeed.Walking)
							Animator.Play("walking-down");
						else if (speed == MovementSpeed.Running)
							Animator.Play("running-down");
						break;
					case Facing.Left:
						if (speed == MovementSpeed.Walking)
							Animator.Play("walking-left");
						else if (speed == MovementSpeed.Running)
							Animator.Play("running-left");
						break;
					case Facing.Right:
						if (speed == MovementSpeed.Walking)
							Animator.Play("walking-right");
						else if (speed == MovementSpeed.Running)
							Animator.Play("running-right");
						break;
				}

				this.movement = -(dir.ToVector2() * new Vector2(16, 16));
				this.MovementSpeed = speed;
				this.MovementState = MovementState.Walking;
				this.Position -= this.movement;
			}
		}
Example #23
0
 protected void ExtraAdjustments()
 {
     AttackSpeed.SetBasicAttack(GetComponent <BasicAttack>());
     MovementSpeed.SubscribeToSlowResistanceChangedEvent(SlowResistance);
 }
Example #24
0
		public RequestingMoveArgs(Facing direction, MovementSpeed speed) {
			this.Direction = direction;
			this.Speed = speed;
		}
 /// <summary>
 /// Moves current object to the given target position.
 /// </summary>
 /// <typeparam name="THostObject">The type of the ost object.</typeparam>
 /// <typeparam name="TTargetObject">The type of the target object.</typeparam>
 /// <param name="sequenceBuilder">AnimationSequenceBuilder building the animation.</param>
 /// <param name="targetObjects">A collection containing all target objects.</param>
 /// <param name="targetVector">The target position for the object.</param>
 /// <param name="speed">The speed for animation calculation.</param>
 public static IAnimationSequenceBuilder <THostObject> Move2DTo <THostObject, TTargetObject>(this IAnimationSequenceBuilder <THostObject> sequenceBuilder, IEnumerable <TTargetObject> targetObjects, Vector2 targetVector, MovementSpeed speed)
     where TTargetObject : class, IAnimatableObjectPosition2D
     where THostObject : class
 {
     foreach (var actTargetObject in targetObjects)
     {
         sequenceBuilder.Add(
             new Move2DToAnimation(actTargetObject, targetVector, speed));
     }
     return(sequenceBuilder);
 }
Example #26
0
 public static float GetFrequency(this MovementSpeed speed)
 {
     return((float)16 / (float)speed.GetSpeed());
 }
Example #27
0
        public void Update(GameTime time)
        {
            if (KeyboardInputEnabled && Queue.Count == 0)
            {
                KeyboardState state     = InputHandler.Instance.State;
                KeyboardState lastState = InputHandler.Instance.LastState;

                if (state.IsKeyDown(Keys.N) && !npcSpawn && Entity.Position.X % 1 == 0 && Entity.Position.Y % 1 == 0)
                {
                    List <EntityTemplate> list = Entity.World.EntityContainer.GetNpcs();
                    NPCEntity             npc  = list[0].CreateEntity(Entity.World.EntityFactory, true) as NPCEntity;
                    npc.Facing                     = Entity.Facing;
                    npc.Map                        = Entity.Map;
                    npc.Position                   = Entity.Position;
                    npc.MovementBehavior           = new MovementBehavior(npc);
                    npc.MovementBehavior.Pattern   = MovementPattern.LogicalRandom;
                    npc.MovementBehavior.Frequency = MovementFrequency.Normally;
                    npc.MovementBehavior.Speed     = MovementSpeed.Walking;
                    Entity.Map.Entities.Add(npc);
                    npcSpawn = true;
                }

                if (!state.IsKeyDown(Keys.N))
                {
                    npcSpawn = false;
                }

                if (state.IsKeyDown(Keys.Enter) && Entity is PlayerEntity)
                {
                    UI ui = Entity.World.UIContainer.Get("StartMenu").CreateUI(Entity.World.ViewData.SpriteBatch, Entity as PlayerEntity);
                    Entity.World.GameScene.UIManager.Add(ui);
                }

                MovementSpeed speed = MovementSpeed.Walking;
                if (state.IsKeyDown(Options.B))
                {
                    speed = MovementSpeed.Running;
                }

                if (state.IsKeyDown(Keys.Left))
                {
                    elapsed[0] += (float)time.ElapsedGameTime.TotalSeconds;
                }
                else
                {
                    elapsed[0] = 0;
                }
                if (state.IsKeyDown(Keys.Right))
                {
                    elapsed[1] += (float)time.ElapsedGameTime.TotalSeconds;
                }
                else
                {
                    elapsed[1] = 0;
                }
                if (state.IsKeyDown(Keys.Up))
                {
                    elapsed[2] += (float)time.ElapsedGameTime.TotalSeconds;
                }
                else
                {
                    elapsed[2] = 0;
                }
                if (state.IsKeyDown(Keys.Down))
                {
                    elapsed[3] += (float)time.ElapsedGameTime.TotalSeconds;
                }
                else
                {
                    elapsed[3] = 0;
                }

                const float turnTime = 0.1f;

                if (Entity.Movable)
                {
                    if (!state.IsKeyDown(Keys.Left) && lastState.IsKeyDown(Keys.Left) && elapsed[0] < turnTime && Entity.Facing != Facing.Left)
                    {
                        Entity.TurnAround(Facing.Left, true);
                    }
                    else if (!state.IsKeyDown(Keys.Right) && lastState.IsKeyDown(Keys.Right) && elapsed[1] < turnTime && Entity.Facing != Facing.Right)
                    {
                        Entity.TurnAround(Facing.Right, true);
                    }
                    else if (!state.IsKeyDown(Keys.Up) && lastState.IsKeyDown(Keys.Up) && elapsed[2] < turnTime && Entity.Facing != Facing.Up)
                    {
                        Entity.TurnAround(Facing.Up, true);
                    }
                    else if (!state.IsKeyDown(Keys.Down) && lastState.IsKeyDown(Keys.Down) && elapsed[3] < turnTime && Entity.Facing != Facing.Down)
                    {
                        Entity.TurnAround(Facing.Down, true);
                    }
                }

                if (state.IsKeyDown(Keys.Left) && (Entity.Facing == Facing.Left || (elapsed[0] >= turnTime)))
                {
                    this.CacheMovement(Facing.Left, speed);
                }
                else if (state.IsKeyDown(Keys.Right) && (Entity.Facing == Facing.Right || (elapsed[1] > turnTime)))
                {
                    this.CacheMovement(Facing.Right, speed);
                }
                else if (state.IsKeyDown(Keys.Up) && (Entity.Facing == Facing.Up || (elapsed[2] > turnTime)))
                {
                    this.CacheMovement(Facing.Up, speed);
                }
                else if (state.IsKeyDown(Keys.Down) && (Entity.Facing == Facing.Down || (elapsed[3] > turnTime)))
                {
                    this.CacheMovement(Facing.Down, speed);
                }
            }

            if (this.Queue.Count > 0 && this.Entity.Movable)
            {
                Movement movement = this.Queue.Dequeue();

                this.Entity.TryMove(movement.Facing, movement.Speed);
            }
            //GameConsole.WriteLine("Elapsed: " + elapsed);
        }
Example #28
0
 public Movement(Facing direction, MovementSpeed speed)
 {
     this.Facing = direction;
     this.Speed  = speed;
 }
Example #29
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Move3DByAnimation"/> class.
        /// </summary>
        /// <param name="targetObject">The target object.</param>
        /// <param name="moveVector">The move vector.</param>
        /// <param name="moveSpeed">The speed which is used for movement calculation.</param>
        public Move3DByAnimation(IAnimatableObjectPosition targetObject, Vector3 moveVector, MovementSpeed moveSpeed)
            : base(targetObject)
        {
            m_targetObject = targetObject;
            m_moveVector   = moveVector;
            m_moveHelper   = new MovementAnimationHelper(moveSpeed, moveVector);

            // Switch animation to fixed-time type
            base.ChangeToFixedTime(m_moveHelper.MovementTime);
        }
Example #30
0
		public void TryMove(Facing dir, MovementSpeed speed) {
			player.TryMove(dir, speed);
		}
Example #31
0
		public Movement(Facing direction, MovementSpeed speed) {
			this.Facing = direction;
			this.Speed = speed;
		}
Example #32
0
 public int CompareTo(Hero hero)
 {
     return(MovementSpeed.CompareTo(hero.MovementSpeed));
 }
Example #33
0
        public static MapEvent FromBytes(byte[] bytes)
        {
            using (MemoryStream stream = new MemoryStream(bytes))
            {
                byte[] tempBytes = new byte[sizeof(int)];
                stream.Read(tempBytes, 0, sizeof(int));
                int nameLength = BitConverter.ToInt32(tempBytes, 0);

                tempBytes = new byte[nameLength];
                stream.Read(tempBytes, 0, nameLength);
                string name = new string(Encoding.UTF8.GetChars(tempBytes, 0, nameLength));

                tempBytes = new byte[sizeof(int)];
                stream.Read(tempBytes, 0, sizeof(int));
                int eventDataID = BitConverter.ToInt32(tempBytes, 0);

                stream.Read(tempBytes, 0, sizeof(int));
                int mapX = BitConverter.ToInt32(tempBytes, 0);

                stream.Read(tempBytes, 0, sizeof(int));
                int mapY = BitConverter.ToInt32(tempBytes, 0);

                tempBytes = new byte[sizeof(float)];
                stream.Read(tempBytes, 0, sizeof(float));
                float realX = BitConverter.ToSingle(tempBytes, 0);

                stream.Read(tempBytes, 0, sizeof(float));
                float realY = BitConverter.ToSingle(tempBytes, 0);

                tempBytes = new byte[sizeof(int)];
                stream.Read(tempBytes, 0, sizeof(int));
                FacingDirection direction = (FacingDirection)BitConverter.ToInt32(tempBytes, 0);

                stream.Read(tempBytes, 0, sizeof(int));
                int spriteID = BitConverter.ToInt32(tempBytes, 0);

                stream.Read(tempBytes, 0, sizeof(int));
                EventTriggerType triggerType = (EventTriggerType)BitConverter.ToInt32(tempBytes, 0);

                stream.Read(tempBytes, 0, sizeof(int));
                RenderPriority priority = (RenderPriority)BitConverter.ToInt32(tempBytes, 0);

                stream.Read(tempBytes, 0, sizeof(int));
                MovementSpeed speed = (MovementSpeed)BitConverter.ToInt32(tempBytes, 0);

                stream.Read(tempBytes, 0, sizeof(int));
                int particleEmitterID = BitConverter.ToInt32(tempBytes, 0);

                tempBytes = new byte[sizeof(bool)];
                stream.Read(tempBytes, 0, sizeof(bool));
                bool enabled = BitConverter.ToBoolean(tempBytes, 0);

                stream.Read(tempBytes, 0, sizeof(bool));
                bool onBridge = BitConverter.ToBoolean(tempBytes, 0);

                MapEvent mapEvent = new MapEvent(name, eventDataID, mapX, mapY);
                mapEvent.RealX             = realX;
                mapEvent.RealY             = realY;
                mapEvent.EventDirection    = direction;
                mapEvent.SpriteID          = spriteID;
                mapEvent.TriggerType       = triggerType;
                mapEvent.Enabled           = enabled;
                mapEvent.Priority          = priority;
                mapEvent.Speed             = speed;
                mapEvent.OnBridge          = onBridge;
                mapEvent.ParticleEmitterID = particleEmitterID;
                return(mapEvent);
            }
        }
Example #34
0
 public void ForceMove(Facing dir, MovementSpeed speed)
 {
     player.ForceMove(dir, speed);
 }
Example #35
0
 public IEncodable Decode(BinaryInput stream)
 {
     this.Facing = (Facing)stream.ReadByte();
     this.Speed  = (MovementSpeed)stream.ReadByte();
     return(this);
 }
Example #36
0
		public void ForceMove(Facing dir, MovementSpeed speed) {
			player.ForceMove(dir, speed);
		}
Example #37
0
 public void TryMove(Facing dir, MovementSpeed speed)
 {
     player.TryMove(dir, speed);
 }
Example #38
0
		public IEncodable Decode(BinaryInput stream) {
			this.Pattern = (MovementPattern) stream.ReadByte();
			this.Speed = (MovementSpeed) stream.ReadByte();
			this.Count = stream.ReadInt16();
			this.CurrentIndex = stream.ReadInt16();
			this.Inverted = stream.ReadBoolean();
			int c = stream.ReadInt32();
			for (int i = 0; i < c; i++) {
				Movements.Add(stream.ReadObject<Movement>());
			}
			return this;
		}