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(); }
void DestroyBonus(GameBonus bonus) { GameBonuses.Bonuses.Remove(bonus); var cell = Grid.GetCellByObject<GameBonus>(bonus); bonus.gameObject.transform.parent = null; DestroyImmediate(bonus.gameObject); }
protected virtual void Bonus_Laser_Activate(GameBonus bonus) { ActiveBonus = bonus; laserPosition = new Point((playground.GetLength(0) - laserWidth) / 2, 0); lastActiveActor = activeActor; activeActor = null; }
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); }
protected virtual void Bonus_Swipe_Activate(GameBonus bonus) { ActiveBonus = bonus; actorsQueue.InsertRange(0, actors); OnActorsQueueChange(new QueueChangeEventArgs(actorsQueue.First())); actors.Clear(); activeActor = null; }
protected virtual void Bonus_CancelLastCube_Activate(GameBonus bonus) { ActiveBonus = bonus; if (LastPlayedActor != null) { RemoveActorFromPlayground(LastPlayedActor); } DeactivateBonus(); }
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 (); }
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, }); }
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); }
protected virtual void Bonus_CubesExplosion_Activate(GameBonus bonus) { ActiveBonus = bonus; activeActor.FallingSpeed = cubesExplosionFallingSpeed; }
public ActiveBonusChangedEventArgs(GameBonus activeBonus) { ActiveBonus = activeBonus; }
public void SetBonus(GameBonus script) { bonus = script; }
public Diamond(GameBonus diamondType, Point point) : base(point) { this.DiamondType = diamondType; }
public void Control_ActivateBonus(GameBonus bonus, int?position = null) { ActivateBonus(bonus, position); }
public Diamond(GameBonus diamondType) : base(0, 0) { this.DiamondType = diamondType; }
public Diamond(GameBonus diamondType, int x, int y) : base(x, y) { this.DiamondType = diamondType; }