Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 public virtual void Update(GameTime gameTime)
 {
     sprite.Update(gameTime);
 }
Beispiel #4
0
        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 : { }
        }