Example #1
0
    private void InitialzeStateManager()
    {
        _stateManager = new StateManager(_muffinAnimator);

        IdleState 		idle = new IdleState(_stateManager, transform);
        MoveState 		move = new MoveState(_stateManager, transform);
        TrapState 		trap = new TrapState(_stateManager, transform);
        DieState 		die	= new DieState(_stateManager, transform);
        SpinState		spin = new SpinState(_stateManager, transform);
        BlastState		blast = new BlastState(_stateManager, transform);
        ChocoRushState	chocoRush = new ChocoRushState(_stateManager, transform);

        PauseState		pause = new PauseState(_stateManager, transform);

        _stateManager.AddCharacterState(idle);
        _stateManager.AddCharacterState(move);
        _stateManager.AddCharacterState(trap);
        _stateManager.AddCharacterState(die);
        _stateManager.AddCharacterState(spin);
        _stateManager.AddCharacterState(blast);
        _stateManager.AddCharacterState(chocoRush);

        _stateManager.AddCharacterState(pause);

        _stateManager.SetDefaultState("Pause");
    }
Example #2
0
 public Blast(Game game, ref Texture2D textureBlast, Rectangle[] rectangle, Vector2 beginPositionBlast) : base(game)
 {
     this.textureBlast         = textureBlast;
     this.beginPositionBlast.X = beginPositionBlast.X;
     this.beginPositionBlast.Y = beginPositionBlast.Y;
     positionBlast             = beginPositionBlast;
     this.rectangle            = rectangle;
     this.game  = game;
     blastState = BlastState.None;
 }
Example #3
0
        public override void Update(GameTime gameTime)
        {
            MouseState mouseState = Mouse.GetState(game.Window);



            if (mouseState.LeftButton == ButtonState.Pressed && !isLeftAlreadyPres)
            {
                isLeftAlreadyPres = true;
                isLeftButtonPres  = true;
                blastState        = BlastState.Normal;
                positionClic.X    = mouseState.X - rectangle[0].Width / 2;
                positionClic.Y    = mouseState.Y - rectangle[0].Height / 2;
                //positionClic = mouseState.Position.ToVector2();
            }



            if (isLeftButtonPres && FlagAnim)
            {
                #region
                //pX = (int)positionClic.X;
                //pY = (int)positionClic.Y;
                //pBX = (int)beginPositionBlast.X;
                //pBY = (int)beginPositionBlast.Y;
                //if (pX - pBX > 0)
                //{
                //    beginPositionBlast.X += 1;
                //}
                //else if (pX - pBX < 0)
                //{
                //    beginPositionBlast.X -= 10;
                //}
                //else
                //{

                //}
                //if (pY - pBY > 0)
                //{
                //    beginPositionBlast.Y += 1;
                //}
                //else if (pY - pBY < 0)
                //{
                //    beginPositionBlast.Y -= 10;
                //}
                //else
                //{

                //}
                //if (pX - pBX == 0 && pY - pBY == 0)
                //{
                //    blastState = BlastState.Explosion;


                //}
                #endregion
                if (beginPositionBlast == positionClic)
                {
                    blastState = BlastState.Explosion;
                }
                beginPositionBlast = positionClic;



                if (blastState == BlastState.Explosion)
                {
                    iteration++;
                    if (iteration == 7)
                    {
                        iteration          = -1;
                        blastState         = BlastState.None;
                        beginPositionBlast = positionBlast;
                        FlagAnim           = false;
                        isLeftAlreadyPres  = false;
                    }
                }
            }



            base.Update(gameTime);
        }