private void CheckKeys()
        {
            var keys = new List <MMPoint>(_room.keys);
            var i    = 0;

            while (i < keys.Count)
            {
                var kx = keys[i].x;
                var ky = keys[i].y;

                var keyRect    = new Rectangle(kx, ky, 8, 8);
                var playerRect = new Rectangle(_x, _y, 10, 18);

                if (keyRect.Intersects(playerRect))
                {
                    keys.RemoveAt(i);
                    IncrementScore?.Invoke(this, 100);
                }
                else
                {
                    i++;
                }
            }
            _room.keys = keys.ToArray();
        }
Exemple #2
0
    public override IEnumerator triggerEffect(SimpleCarController car)
    {
        if (car == null)
        {
            Debug.Log("Broken Car!");
            yield break;
        }

        IncrementScore scoreHolder = GameObject.FindObjectOfType <IncrementScore>();

        originalScoreScale = scoreHolder.scoreScaleFactor;

        scoreHolder.scoreScaleFactor = scoreScale;

        base.spawner.powerupTimeLeftFillImage.GetComponent <decreaseFillAmount> ().resetFillAmount();
        base.spawner.powerupText.SetActive(true);
        base.spawner.powerupText.GetComponent <Text> ().text = "Multiplier " + scoreScale + "X";
        base.spawner.nonePowerupText.SetActive(false);
        if (scoreScale == .5f)
        {
            GameObject.FindObjectOfType <SoundController> ().playHalfCoinMultiplierSound();
        }
        else
        {
            GameObject.FindObjectOfType <SoundController> ().playPowerupSound();
        }

        yield return(new WaitForSeconds(effectTime));

        base.spawner.powerupText.SetActive(false);
        base.spawner.nonePowerupText.SetActive(true);

        scoreHolder.scoreScaleFactor = originalScoreScale;
    }
    private void OnTriggerStay2D(Collider2D collision)
    {
        if (collision.gameObject.CompareTag("flower") && damageTimer <= 0.0f && IncrementScore.currentScore > 0)
        {
            damageTimer = 2.0f;
            IncrementScore.currentScore -= DAMAGE;
            IncrementScore.UpdateScoreText();
        }

        damageTimer -= Time.deltaTime;
    }
Exemple #4
0
    // Start is called before the first frame update
    private void Start()
    {
        padUI         = gameObject.GetComponentInChildren <Canvas>();
        orderPanel    = padUI.transform.Find("OrderPanel").gameObject;
        cooldownPanel = padUI.transform.Find("CooldownPanel").gameObject;
        scoreBoard    = GameObject.FindWithTag("ScoreBoard").GetComponent <IncrementScore>();
        matRenderer   = transform.Find("Trigger").GetComponent <Renderer>();

        panelImage   = orderPanel.GetComponent <Image>();
        cooldownRect = cooldownPanel.transform.GetChild(0).GetComponent <RectTransform>();

        order = new Order(DrinkType.Default);
        StartCoroutine("Cooldown");
    }
Exemple #5
0
        // Clears full rows as they occur
        private void FlashTmrTick(object sender, EventArgs e)
        {
            switch (flashCounter)
            {
            case 1:
                flashRow = FindFullRow();
                if (flashRow > -1)
                {
                    flashCounter = 2;
                    HasChanged(gameGrid, true, flashRow);
                }
                break;

            case 2:
                flashCounter = 3;
                HasChanged(gameGrid, false, -1);
                break;

            case 3:
                flashCounter = 4;
                HasChanged(gameGrid, true, flashRow);
                break;

            case 4:
                var newGrid = new List <string[]>(gameGrid);
                if (listShapes.Count == 0)
                {
                    return;
                }
                foreach (var p in listShapes.Last().CurrentPoints)
                {
                    if (p.Y > -1)
                    {
                        newGrid[p.Y][p.X] = "";
                    }
                }
                var newRow = new string[20];
                newGrid.RemoveAt(flashRow);
                newGrid.Insert(0, newRow);
                missATick    = true;
                gameGrid     = newGrid.ToArray();
                flashCounter = 1;
                MoveDown();
                HasChanged(gameGrid, false, -1);
                missATick   = false;
                rowCounter += 1;
                if (rowCounter % 10 == 0)
                {
                    tmr.Interval -= 40;
                    IncrementScore?.Invoke(((int)((1000 - tmr.Interval) * 0.35)));     // IncrementStore != NULL
                }
                else if (rowCounter % 5 == 0)
                {
                    tmr.Interval -= 20;
                    IncrementScore?.Invoke(((int)((1000 - tmr.Interval) * 0.25)));     // IncrementStore != NULL
                }
                else
                {
                    IncrementScore?.Invoke(((int)((1000 - tmr.Interval) * 0.05)));     // IncrementStore != NULL
                }
                break;
            }
        }
 // Start is called before the first frame update
 void Start()
 {
     Instance = this;
 }