Exemple #1
0
        protected virtual void ActivateBonus(GameBonus bonus, int?position = null)
        {
            bonus.OnActivate();

            var insertIndex = 0;

            if (position.HasValue && gameBonuses.Count > position.Value && gameBonuses[position.Value] == bonus)
            {
                insertIndex = position.Value;
            }
            else
            {
                insertIndex = gameBonuses.IndexOf(bonus);
            }

            gameBonuses.RemoveAt(insertIndex);
            gameBonuses.Insert(insertIndex, new GameBonus(null, null, null, null)
            {
                Type        = BonusType.None,
                Enabled     = false,
                Name        = "None",
                SpecialText = "None",
                Progress    = 0
            });

            RefreshBonuses();
        }
Exemple #2
0
 void DestroyBonus(GameBonus bonus)
 {
     GameBonuses.Bonuses.Remove(bonus);
     var cell = Grid.GetCellByObject<GameBonus>(bonus);
     bonus.gameObject.transform.parent = null;
     DestroyImmediate(bonus.gameObject);
 }
Exemple #3
0
        protected virtual void Bonus_Laser_Activate(GameBonus bonus)
        {
            ActiveBonus = bonus;

            laserPosition   = new Point((playground.GetLength(0) - laserWidth) / 2, 0);
            lastActiveActor = activeActor;
            activeActor     = null;
        }
Exemple #4
0
        public static void CollisionTest(int bonusX, int bonusY, int playerX, int playerY, bool expected)
        {
            var bonus  = new GameBonus(BonusType.ExtraScore, bonusX, bonusY);
            var player = new Player(playerX, playerY);
            var actual = bonus.CollidePlayer(player);

            Assert.AreEqual(expected, actual);
        }
Exemple #5
0
        protected virtual void Bonus_Swipe_Activate(GameBonus bonus)
        {
            ActiveBonus = bonus;

            actorsQueue.InsertRange(0, actors);
            OnActorsQueueChange(new QueueChangeEventArgs(actorsQueue.First()));
            actors.Clear();
            activeActor = null;
        }
Exemple #6
0
        protected virtual void Bonus_CancelLastCube_Activate(GameBonus bonus)
        {
            ActiveBonus = bonus;

            if (LastPlayedActor != null)
            {
                RemoveActorFromPlayground(LastPlayedActor);
            }

            DeactivateBonus();
        }
Exemple #7
0
        protected virtual void Bonus_SlowDown_Activate(GameBonus bonus)
        {
            ActiveBonus = bonus;
            foreach (var actor in actors)
            {
                actor.FallingSpeed = actor.FallingSpeed * slowDownPower; // make actor x times slower from their previous speed TODO: optimaze speed
            }

            slowDownTimer = slowDownLimit;

            BorderColor       = Color.Red;
            backgroundChanged = true;
        }
 void Awake()
 {
     if (instance == null) {
         instance = this;
     } else if (instance != this) {
         Destroy(gameObject);
     }
     DontDestroyOnLoad (gameObject);
     keys = new List<Key> ();
     bonus = new GameBonus ();
     maze = GetComponent<MazeGen> ();
     audioSource = GetComponent<AudioSource>();
     InitGame ();
 }
Exemple #9
0
 private static void DrawBonus(PaintEventArgs args, GameBonus bonus, Brush brush, Pen pen, string text)
 {
     if (bonus == null)
     {
         return;
     }
     DrawGameObject(args, brush, pen, bonus.X, bonus.Y,
                    GameBonus.Width, GameBonus.Height);
     args.Graphics.DrawString(text,
                              new Font("Consolas", 17),
                              Brushes.Azure,
                              new RectangleF(bonus.X, bonus.Y, GameBonus.Width, GameBonus.Height),
                              new StringFormat {
         Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center,
     });
 }
Exemple #10
0
    private GameObject GetBonus(GameObject[] allBonus, int totalChance)
    {
        int r          = Random.Range(0, totalChance);
        int currentSum = 0;

        foreach (GameObject item in bonuses)
        {
            GameBonus gb = item.GetComponent <GameBonus>();
            if (currentSum <= r && r < currentSum + gb.dropChance)
            {
                return(item);
            }
            currentSum += gb.dropChance;
            //if (gb.dropChance <= chance)//гавнецо
            //  blist.Add(item);
        }
        return(null);
    }
Exemple #11
0
 protected virtual void Bonus_CubesExplosion_Activate(GameBonus bonus)
 {
     ActiveBonus = bonus;
     activeActor.FallingSpeed = cubesExplosionFallingSpeed;
 }
 public ActiveBonusChangedEventArgs(GameBonus activeBonus)
 {
     ActiveBonus = activeBonus;
 }
Exemple #13
0
 public void SetBonus(GameBonus script)
 {
     bonus = script;
 }
Exemple #14
0
 public Diamond(GameBonus diamondType, Point point) : base(point)
 {
     this.DiamondType = diamondType;
 }
Exemple #15
0
 public void Control_ActivateBonus(GameBonus bonus, int?position = null)
 {
     ActivateBonus(bonus, position);
 }
Exemple #16
0
 public Diamond(GameBonus diamondType)
     : base(0, 0)
 {
     this.DiamondType = diamondType;
 }
Exemple #17
0
 public Diamond(GameBonus diamondType, Point point)
     : base(point)
 {
     this.DiamondType = diamondType;
 }
Exemple #18
0
 public Diamond(GameBonus diamondType, int x, int y) : base(x, y)
 {
     this.DiamondType = diamondType;
 }
Exemple #19
0
 public Diamond(GameBonus diamondType, int x, int y)
     : base(x, y)
 {
     this.DiamondType = diamondType;
 }
Exemple #20
0
 public Diamond(GameBonus diamondType) : base(0, 0)
 {
     this.DiamondType = diamondType;
 }