Exemple #1
0
    // handles a skill press
    private void handleSkillPress(string pressedSkill)
    {
        if (pressedSkill == "")
        {
            return;
        }

        long elapsedTime = MyTime.ElapsedTime(previousTime);

        previousTime = MyTime.CurrentTimeMillis();

        if (elapsedTime > MaxPauseDuration)
        {
            pressedSkills.Clear();
        }

        pressedSkills.Add(new SkillPress(pressedSkill, elapsedTime));

        GameObject[] enemies    = GameObject.FindGameObjectsWithTag("Enemy");
        GameObject[] spotlights = GameObject.FindGameObjectsWithTag("Spotlight");

        GameObject[] triggerables = new GameObject[enemies.Length + spotlights.Length];
        Array.Copy(enemies, triggerables, enemies.Length);
        Array.Copy(spotlights, 0, triggerables, enemies.Length, spotlights.Length);

        foreach (GameObject obj in triggerables)
        {
            Vector2 playerPosition = new Vector2(Player.transform.position.x, Player.transform.position.z);
            Vector2 melodyPosition = new Vector2(obj.transform.position.x, obj.transform.position.z);

            double dist = Vector2.Distance(playerPosition, melodyPosition);

            if ((dist <= Radius && obj.tag != "Spotlight") ||
                (obj.tag == "Spotlight" && obj.GetComponent <Spotlight>().hasPlayer))
            {
                Melody objMelody = obj.GetComponent <Melody>();
                objMelody.Wait();
                if (checkMelody(objMelody.rythem) && objMelody.IsValid())
                {
                    if (obj.tag == "Enemy")
                    {
                        obj.transform.parent.gameObject.GetComponent <KillEnemy>().setEnemyDead(true);
                    }
                    else if (obj.tag == "Spotlight")
                    {
                        GameObject movBlock = obj.GetComponent <Spotlight>().movingBlock;
                        movBlock.GetComponent <AscendingObject>().Trigger();
                    }
                }
            }
        }
    }