public override void Update(GameTime gameTime, IPlayer currentPlayer)
        {
            if (this.SpecialtyFired)
            {
                // TODO moje da se izvede v private method void Move() i Atack() primerno..
                // nqkak da se porazkachi Update() (ako ima vreme)
                if (currentPlayer is FirstPlayer)
                {
                    Collide = SpecialtyCollision.Collide(SecondPlayer.Instance.Ship, this);
                    if (Collide)
                    {
                        currentPlayer.Ship.SpecialtyAttack(SecondPlayer.Instance.Ship);
                    }

                    this.AddToPosition(Direction.Positive, CoordsDirections.Abscissa, HURRICANE_SPEED);
                }
                else
                {
                    Collide = SpecialtyCollision.Collide(FirstPlayer.Instance.Ship, this);
                    if (Collide)
                    {
                        currentPlayer.Ship.SpecialtyAttack(FirstPlayer.Instance.Ship);
                    }

                    this.AddToPosition(Direction.Negative, CoordsDirections.Abscissa, HURRICANE_SPEED);
                }
            }
        }
Beispiel #2
0
        public override void Update(GameTime gameTime, IPlayer currentPlayer)
        {
            // ЛОГИКА ПРИ КОЛИЗИЯ НА МИНАТА
            // TODO NOT WORKING COLLISION
            if (currentPlayer != FirstPlayer.Instance)
            {
                Collide = SpecialtyCollision.Collide(FirstPlayer.Instance.Ship, this);
                if (Collide)
                {
                    currentPlayer.Ship.SpecialtyAttack(FirstPlayer.Instance.Ship);
                    this.DoDraw = false;
                }
            }
            else
            {
                Collide = SpecialtyCollision.Collide(SecondPlayer.Instance.Ship, this);
                if (Collide)
                {
                    currentPlayer.Ship.SpecialtyAttack(SecondPlayer.Instance.Ship);
                    this.DoDraw = false;
                }
            }


            // НАСТРОЙКА НА ПОЗИЦИЯТА ПРИ ПУСКАНЕ НА МИНАТА
            if (this.SpecialtyFired)
            {
                this.DoDraw = true;
                flag++;
                if (flag == 1)
                {
                    mineStartPos = new Vector2(currentPlayer.Ship.Position.X - this.Image.Texture.Width, currentPlayer.Ship.Position.Y);
                    this.SetPosition(CoordsDirections.Abscissa, ScreenManager.Instance.Dimensions.X - this.Image.Texture.Width - currentPlayer.Ship.Position.X);
                    this.SetPosition(CoordsDirections.Ordinate, -30);
                }
            }
            if (this.Position.Y < mineStartPos.Y)
            {
                this.AddToPosition(Direction.Positive, CoordsDirections.Ordinate, SPEED);
            }
            else
            {
                this.SpecialtyFired = false;
                flag = 0;
            }
        }