public override void Update(GameTime p_gametime) { switch (State) { case EnemyState.HOLD: if (!m_startTimer.Started) { m_startTimer.Start(p_gametime); } if (m_startTimer.Update(p_gametime)) { State = EnemyState.MOVING; } break; case EnemyState.MOVING: if (Move(p_gametime)) { if (moveindex < m_moveSequence.Count) { MoveTo(m_moveSequence[moveindex], 0.1f, 2); moveindex++; } else { State = EnemyState.GONE; } } break; } BaseSprite.Update(p_gametime); }
protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Exit(); } middlePx.Update(gameTime, GraphicsDevice.Viewport); torch.Update(gameTime, GraphicsDevice.Viewport); base.Update(gameTime); }
public virtual void Update(GameTime gameTime) { sprite.Update(gameTime); }
public override void Update(GameTime p_gametime) { base.Update(p_gametime); switch (State) { case PlayerState.ALIVE: float dt = (float)p_gametime.ElapsedGameTime.TotalSeconds; Movement.Normalize(); if (!((Posicao + Velocity * dt).X < 10 || ((Posicao.X + BaseSprite.Width) + (Velocity * dt).X) > 728)) { Posicao.X = Posicao.X + Velocity.X * dt; } if (!((Posicao + Velocity * dt).Y < 10 || ((Posicao.Y + BaseSprite.Height) + (Velocity * dt).Y) > 624)) { Posicao.Y = Posicao.Y + Velocity.Y * dt; } //Velocity = Velocity + Movement * Acceleration * dt; Velocity = new Vector2(200 * Movement.X, 200 * Movement.Y); float v = Velocity.Length(); if (v > MaxVelocity) { Velocity = Velocity / v; Velocity = Velocity * MaxVelocity; v = MaxVelocity; } if (v > 0.0f) { float mul = (v - v * Friction * dt) / v; Velocity = Velocity * mul; } if (Movement.Y > 0) { SetAnimation("UP"); } else if (Movement.Y < 0) { SetAnimation("DOWN"); } else { SetAnimation("IDLE"); } BoundingBox.X = (int)Posicao.X + (int)(BoundingBox.Width * 0.15f); BoundingBox.Y = (int)Posicao.Y + (int)(BoundingBox.Height * 0.15f); foreach (PotatoLayer layer in Scene.Layers) { foreach (PotatoMovable entity in layer.EntityList) { if (entity != this) { if (this.TestCollision(entity)) { Kill(); } } } } BoundingBox.Offset(((GameScene)Scene).mapView.X, 0); foreach (ObjectLayer objLayer in ((GameScene)Scene).map.ObjectLayers) { foreach (MapObject mapObj in objLayer.MapObjects) { if (mapObj.Polygon != null) { if (mapObj.Polygon.Intersects(BoundingBox)) { Kill(); break; } } if (mapObj.Polyline != null) { if (mapObj.Polyline.Intersects(BoundingBox)) { Kill(); break; } } if (mapObj.Polyline == null && mapObj.Polygon == null) { if (mapObj.Bounds.Intersects(BoundingBox)) { Kill(); break; } } } } BoundingBox.Offset(((GameScene)Scene).mapView.X * -1, 0); break; case PlayerState.DIEING: if (BaseSprite.CurrentAnimation.IsFinished) { State = PlayerState.DEAD; } break; } BaseSprite.Update(p_gametime); }
static public void Update(GameTime gt) { CheckMouse(); // selectedSprite.position = new Vector2(400,300); anyButtonsPressed = false; mouseState = Mouse.GetState(); keyboardState = Keyboard.GetState(); //var wot = keyboardState.GetPressedKeys(); //String test = ""; //foreach (var item in wot) //{ // test += item; // test += " + "; //} //Console.WriteLine(test); if (!KeyboardMouseUtility.AnyButtonsPressed() && Keyboard.GetState().IsKeyDown(Keys.LeftAlt) && Keyboard.GetState().IsKeyDown(Keys.Enter)) { // ResolutionUtility.AdjustResolution(Game1.monitorSize.X, Game1.monitorSize.Y, Game1.graphics); ResolutionUtility.toggleFullscreen(); KeyboardMouseUtility.bPressed = true; } if (keyboardState.GetPressedKeys().Length > 1) { foreach (var key in Game1.actionKeyList) { if (keyboardState.GetPressedKeys()[keyboardState.GetPressedKeys().Length - 1] == (key.assignedActionKey)) { lastPressedKey = key; } } } else { foreach (var key in Game1.actionKeyList) { if (keyboardState.IsKeyDown(key.assignedActionKey)) { lastPressedKey = key; //selectedSprite.MoverMustUpdateHitboxes = true; } } } if (Keyboard.GetState().IsKeyDown(Keys.NumPad8)) { } //if (keyboardState.GetPressedKeys().Length >= 1) //{ // foreach (var key in Game1.actionKeyList) // { // if (keyboardState.IsKeyDown(key.assignedActionKey)) // { // lastPressedKey = key; // break; // } // } //} List <Actions.ActionKey> pressedKeys = new List <Actions.ActionKey>(); foreach (var key in Game1.actionKeyList) { if (keyboardState.IsKeyDown(key.assignedActionKey)) { #region EDITOR PLAYTEST FUNCTION if (MapBuilder.bPlayTest && Game1.bIsDebug) { if (key.actionIndentifierString.Equals(Game1.cancelString) && Keyboard.GetState().IsKeyDown(Keys.LeftShift) && MapBuilder.bPlayTest) { ReturnToEditorAction(); break; } } #endregion pressedKeys.Add(key); } } if (Mouse.GetState().LeftButton == ButtonState.Pressed) { // KeyboardMouseUtility.bPressed = true; pressedKeys.Add(Game1.actionKeyList.Find(key => key.actionIndentifierString.Equals(Game1.confirmString, StringComparison.OrdinalIgnoreCase))); KeyboardMouseUtility.bMouseButtonPressed = true; } if (Mouse.GetState().RightButton == ButtonState.Pressed) { // KeyboardMouseUtility.bPressed = true; pressedKeys.Add(Game1.actionKeyList.Find(key => key.actionIndentifierString.Equals(Game1.cancelString, StringComparison.OrdinalIgnoreCase))); KeyboardMouseUtility.bMouseButtonPressed = true; } if (Mouse.GetState().RightButton != ButtonState.Pressed && Mouse.GetState().LeftButton != ButtonState.Pressed) { KeyboardMouseUtility.bMouseButtonPressed = false; } if (KeyboardMouseUtility.ScrollingDown() || KeyboardMouseUtility.ScrollingUp()) { pressedKeys.Add(new Actions.ActionKey()); pressedKeys.Last().actionIndentifierString = "Scroll"; } #region NON EDITOR PLAYER CONTROLS if (pressedKeys.Count != 0) { // GameProcessor.bUpdateShadows = true; GameProcessor.bUpdateOnceMore = true; anyButtonsPressed = true; // GameProcessor.GenerateCamera(GameProcessor.cameraFollowTarget, .06f, GameProcessor.zoom); if (LUA.LuaExecutionList.DemandOverride()) { LUA.LuaExecutionList.ControlOverride(pressedKeys); } switch (currentController) { case Controllers.NonCombat: NonCombatCtrl.Update(pressedKeys); break; case Controllers.Combat: CombatCtrl.Update(pressedKeys); break; case Controllers.Menu: MenuCtrl.Update(pressedKeys); break; case Controllers.Dialogue: DialogueCtrl.Update(pressedKeys); break; case Controllers.SoloCombat: SoloCombatCtrl.Update(pressedKeys); break; case Controllers.EXPGainScreen: ExpGainCtrl.Update(pressedKeys); break; case Controllers.StartScreen: ContextControllers.StartScreenCtrl.Update(pressedKeys); break; case Controllers.ScriptProcessor: ScriptProcessorCtrl.Update(pressedKeys); break; case Controllers.GameSettingsMenu: if (!SettingsMenu.bIsRunning) { currentController = Controllers.NonCombat; } GameSettingsMenuCtrl.Update(pressedKeys); break; case Controllers.GameOptions: if (!OptionsMenu.bIsRunning) { currentController = Controllers.NonCombat; } GameOptionsMenuCtrl.Update(pressedKeys); break; default: break; } } else if (KeyboardMouseUtility.bMouseMoved) { switch (currentController) { case Controllers.NonCombat: break; case Controllers.Combat: break; case Controllers.Menu: MenuCtrl.MouseMove(); break; case Controllers.Dialogue: break; case Controllers.SoloCombat: break; case Controllers.EXPGainScreen: break; case Controllers.StartScreen: ContextControllers.StartScreenCtrl.MouseMove(); break; case Controllers.ScriptProcessor: ScriptProcessorCtrl.HandleMouseMove(); break; case Controllers.GameSettingsMenu: GameSettingsMenuCtrl.HandleMouseMove(); break; case Controllers.GameOptions: GameOptionsMenuCtrl.HandleMouseMove(); break; default: break; } } else if (selectedSprite != null && !CombatProcessor.bIsRunning) { selectedSprite.animationIndex = (int)BaseCharacter.CharacterAnimations.Idle; } #endregion if (selectedSprite != null && (!CombatProcessor.bStartPhase1 && !CombatProcessor.bMainCombat && !CombatProcessor.bIsRunning) && !ScriptProcessor.bIsRunning) { selectedSprite.Update(gt); } stop : { } }