Пример #1
0
        public void MovingTowardMouse(GameTime gameTime)
        {
            if (IsMouseInScreen() &&
                Statics.INPUT.isMouseClicked())
            {
                // nếu chuột click trên vùng trống hoac chi vao quan dich
                if (!ClickOnMySprite())
                {
                    for (int i = 0; i < playerList.Count; i++)
                    {
                        Entities.UserControlledSprite p = playerList[i];

                        // if p is selected before
                        if (selectedSprite == i)
                        {
                            //spriteList[i].image = Statics.CONTENT.Load<Texture2D>("Images/test");
                            selectedSprite = -1;
                            p.destination  = new Vector2(Statics.INPUT.mousePosition.X, Statics.INPUT.mousePosition.Y);
                            p.CheckOuOfScreen();
                            p.isRunning = true;
                        }
                    }
                }
            }
        }
Пример #2
0
 public bool ClickOnMySprite()
 {
     for (int i = 0; i < playerList.Count; i++)
     {
         if (playerList[i].live) // nếu sprite còn sống
         {
             Entities.UserControlledSprite p = playerList[i];
             // nếu click trúng sprite
             if (p.boundsRectangle.Contains(Statics.INPUT.mousePosition))
             {
                 if (!p.isMine)
                 {
                     return(false);
                 }
                 // sprite này đã đợc chọn từ trước (double click) => thì reset: coi như chưa chọn
                 if (selectedSprite == i)
                 {
                     selectedSprite = -1;
                     return(true);
                 }
                 else
                 {
                     selectedSprite = i;
                     //spriteList[i].image = Statics.CONTENT.Load<Texture2D>("Images/test");
                 }
                 return(true);
             }
         }
     }
     return(false);
 }
Пример #3
0
 public void ChekSelected()
 {
     // double angle;
     for (int i = 0; i < playerList.Count; i++)
     {
         Entities.UserControlledSprite p = playerList[i];
         //angle = Math.Atan2(p.currentDirection.X, p.currentDirection.Y) * 360 / (2 * Math.PI);
     }
 }
Пример #4
0
        public void Compatibility(GameTime gameTime)
        {
            for (int i = 0; i < playerList.Count; i++)
            {
                if (playerList[i].live)
                {
                    Entities.UserControlledSprite userControll = playerList[i];
                    if (userControll.isCompatibility(userControll))
                    {
                        if (checkCompatibility[i] < 1)
                        {
                            userControll.attack += coefficientCompatibility;
                            userControll.defend += coefficientCompatibility;
                            checkCompatibility[i]++;
                        }
                    }

                    if (userControll.isUnCompatibility(userControll))
                    {
                        if (checkUnCompatibility[i] < 1)
                        {
                            userControll.attack -= coefficientCompatibility;
                            userControll.defend -= coefficientCompatibility;
                            checkUnCompatibility[i]++;
                        }
                    }

                    if (!userControll.isCompatibility(userControll) &&
                        !userControll.isUnCompatibility(userControll))
                    {
                        userControll.attack     = userControll.copyAttack;
                        userControll.defend     = userControll.copyDefend;
                        checkCompatibility[i]   = 0;
                        checkUnCompatibility[i] = 0;
                    }
                }
            }
        }