//will be informed by the Conductor after a beat is hit
 public void BeatOnHit(int track, PartitionManager.Rank rank)
 {
     if (rank == PartitionManager.Rank.HARMONIE)
     {
         particleSet[track].harmonie.Play();
     }
     if (rank == PartitionManager.Rank.PERFECT)
     {
         particleSet[track].perfect.Play();
     }
     else if (rank == PartitionManager.Rank.GOOD)
     {
         particleSet[track].good.Play();
     }
     else if (rank == PartitionManager.Rank.BAD)
     {
         particleSet[track].bad.Play();
     }
 }
Exemplo n.º 2
0
    public void PlayParticle(PartitionManager.Rank rank)
    {
        switch (rank)
        {
        case PartitionManager.Rank.HARMONIE:
            trackParticle.Harmonie.Play();
            break;

        case PartitionManager.Rank.PERFECT:
            trackParticle.Perfect.Play();
            break;

        case PartitionManager.Rank.GOOD:
            trackParticle.Good.Play();
            break;

        case PartitionManager.Rank.BAD:
            trackParticle.Bad.Play();
            break;
        }
    }
Exemplo n.º 3
0
    public void ChargeRole(PartitionManager.Rank rank)
    {
        if (currentRole.RoleState != Role.RoleStates.Attack)
        {
            CountNote++;
        }
        else if (ManaBar.Instance.GetValue() >= ManaBurnPerAttack)
        {
            CountNote++;
        }
        attackHitNumber++;
        roleSprite.fillAmount = (CountNote / maxNbNote);
        if (CountNote < maxNbNote)
        {
            switch (rank)
            {
            case PartitionManager.Rank.PERFECT:
                if (BossManager.Instance.goMalediction && currentRole.RoleState == BossManager.Instance.randomRoleState)
                {
                    ShieldBar.Instance.TakeDamage(MaledictionDamage);
                }
                if (currentRole.RoleState == Role.RoleStates.Attack && ManaBar.Instance.GetValue() >= ManaBurnPerAttack)
                {
                    powerStack += ATKPerfectPowerToStack;
                    if (attackHitNumber >= AttackCountBurnMana)
                    {
                        ManaBar.Instance.Attack();
                        attackHitNumber = 0;
                    }
                }
                else if (currentRole.RoleState == Role.RoleStates.Mana)          // si la note est Perfect et que le role est mana
                {
                    powerStack += MANAPerfectPowerToStack;
                    ManaBar.Instance.WinMana(MANAPerfectPowerToStack);
                }
                else if (currentRole.RoleState == Role.RoleStates.Defence)         // si la note est Perfect et que le role est defense
                {
                    powerStack += SHIELDPerfectPowerToStack;
                    ShieldBar.Instance.WinArmor(SHIELDPerfectPowerToStack);
                }
                break;

            case PartitionManager.Rank.GOOD:
                if (BossManager.Instance.goMalediction && currentRole.RoleState == BossManager.Instance.randomRoleState)
                {
                    ShieldBar.Instance.TakeDamage(MaledictionDamage);
                }
                if (currentRole.RoleState == Role.RoleStates.Attack && ManaBar.Instance.GetValue() >= ManaBurnPerAttack)
                {
                    powerStack += ATKGoodPowerToStack;
                    if (attackHitNumber == AttackCountBurnMana)
                    {
                        ManaBar.Instance.Attack();
                        attackHitNumber = 0;
                    }
                }
                else if (currentRole.RoleState == Role.RoleStates.Mana)          // si la note est Good et que le role est mana
                {
                    powerStack += MANAGoodPowerToStack;
                    ManaBar.Instance.WinMana(MANAGoodPowerToStack);
                }
                else if (currentRole.RoleState == Role.RoleStates.Defence)         // si la note est Good et que le role est defense
                {
                    powerStack += SHIELDGoodPowerToStack;
                    ShieldBar.Instance.WinArmor(SHIELDGoodPowerToStack);
                }
                break;

            case PartitionManager.Rank.BAD:
                if (BossManager.Instance.goMalediction && currentRole.RoleState == BossManager.Instance.randomRoleState)
                {
                    ShieldBar.Instance.TakeDamage(MaledictionDamage);
                }
                if (currentRole.RoleState == Role.RoleStates.Attack && ManaBar.Instance.GetValue() >= ManaBurnPerAttack)
                {
                    powerStack += ATKBadPowerToStack;
                    if (attackHitNumber == AttackCountBurnMana)
                    {
                        ManaBar.Instance.Attack();
                        attackHitNumber = 0;
                    }
                }
                else if (currentRole.RoleState == Role.RoleStates.Mana)          // si la note est Bad et que le role est mana
                {
                    powerStack += MANABadPowerToStack;
                    ManaBar.Instance.WinMana(MANABadPowerToStack);
                }
                else if (currentRole.RoleState == Role.RoleStates.Defence)         // si la note est Bad et que le role est defense
                {
                    powerStack += SHIELDBadPowerToStack;
                    ShieldBar.Instance.WinArmor(SHIELDBadPowerToStack);
                }
                break;

            case PartitionManager.Rank.MISS:        // si la note est Miss
                ShieldBar.Instance.TakeDamage(MissDamage);
                break;
            }
        }
        else
        {
            RoleFire();
        }
    }