示例#1
0
        public void updateHeartRate(int newHR)
        {
            int previousHR = currentHR;

            currentHR = newHR;
            int diffHR = previousHR == 0 ? 0 : currentHR - previousHR;

            currentHRP = Math.Round(((currentHR / (float)maxHeartRate) * 100.0), 2);
            PlayerVoiceAudioSourceScript pavsScript = (PlayerVoiceAudioSourceScript)pavs.GetComponent(typeof(PlayerVoiceAudioSourceScript));

            if (currentHRP >= 50 && currentHRP < 60 && diffHR < 0 && st[SndTrigType.LM])
            {
                st[SndTrigType.LM] = false; pavsScript.AddToQueue(ingameId, "lm");
            }
            else if (currentHRP >= 60 && currentHRP < 70 && diffHR < 0 && st[SndTrigType.LWC])
            {
                st[SndTrigType.LWC] = false; pavsScript.AddToQueue(ingameId, "lwc");
            }
            else if (currentHRP >= 60 && currentHRP < 70 && diffHR > 0 && st[SndTrigType.HWC])
            {
                st[SndTrigType.HWC] = false; pavsScript.AddToQueue(ingameId, "hwc");
            }
            else if (currentHRP >= 70 && currentHRP < 80 && diffHR < 0 && st[SndTrigType.LA])
            {
                st[SndTrigType.LA] = false; pavsScript.AddToQueue(ingameId, "la");
            }
            else if (currentHRP >= 70 && currentHRP < 80 && diffHR > 0 && st[SndTrigType.HA])
            {
                st[SndTrigType.HA] = false; pavsScript.AddToQueue(ingameId, "ha");
            }
            else if (currentHRP >= 80 && currentHRP < 90 && diffHR > 0 && st[SndTrigType.HAN])
            {
                st[SndTrigType.HAN] = false; pavsScript.AddToQueue(ingameId, "han");
            }
            else if (currentHRP >= 90 && diffHR > 0 && st[SndTrigType.HVM])
            {
                st[SndTrigType.HVM] = false; pavsScript.AddToQueue(ingameId, "hvm");
            }

            if (currentHRP >= 65)
            {
                st[SndTrigType.LM] = true;
            }
            if (currentHRP >= 75)
            {
                st[SndTrigType.LWC] = true;
            }
            if (currentHRP >= 85)
            {
                st[SndTrigType.LA] = true;
            }
            if (currentHRP < 55)
            {
                st[SndTrigType.HWC] = true;
            }
            if (currentHRP < 65)
            {
                st[SndTrigType.HA] = true;
            }
            if (currentHRP < 75)
            {
                st[SndTrigType.HAN] = true;
            }
            if (currentHRP < 85)
            {
                st[SndTrigType.HVM] = true;
            }
        }
示例#2
0
    public void UpdateGroupVariables()
    {
        int    local_total       = 0;
        double sumHR             = 0;
        int    activePlayerCount = 0;

        foreach (Player player in players.Values)
        {
            if (player.IsActive)
            {
                local_total       += player.Number;
                sumHR             += player.currentHRP;
                activePlayerCount += 1;
            }
        }
        double prevGlobalHRP = globalHRP;

        globalHRP = activePlayerCount != 0 ? sumHR / activePlayerCount : 0;
        double diffGlobalHRP = Math.Round(globalHRP - prevGlobalHRP);

        globalTotal = local_total;


        PlayerVoiceAudioSourceScript pavsScript = (PlayerVoiceAudioSourceScript)pavs.GetComponent(typeof(PlayerVoiceAudioSourceScript));

        if (SystemIsActive)
        {
            if (globalHRP >= 50 && globalHRP < 60 && diffGlobalHRP < 0 && group_st[SndTrigType.LM])
            {
                group_st[SndTrigType.LM] = false; pavsScript.AddToQueue("Group", "lm");
            }
            else if (globalHRP >= 60 && globalHRP < 70 && diffGlobalHRP < 0 && group_st[SndTrigType.LWC])
            {
                group_st[SndTrigType.LWC] = false; pavsScript.AddToQueue("Group", "lwc");
            }
            else if (globalHRP >= 60 && globalHRP < 70 && diffGlobalHRP > 0 && group_st[SndTrigType.HWC])
            {
                group_st[SndTrigType.HWC] = false; pavsScript.AddToQueue("Group", "hwc");
            }
            else if (globalHRP >= 70 && globalHRP < 80 && diffGlobalHRP < 0 && group_st[SndTrigType.LA])
            {
                group_st[SndTrigType.LA] = false; pavsScript.AddToQueue("Group", "la");
            }
            else if (globalHRP >= 70 && globalHRP < 80 && diffGlobalHRP > 0 && group_st[SndTrigType.HA])
            {
                group_st[SndTrigType.HA] = false; pavsScript.AddToQueue("Group", "ha");
            }
            else if (globalHRP >= 80 && globalHRP < 90 && diffGlobalHRP > 0 && group_st[SndTrigType.HAN])
            {
                group_st[SndTrigType.HAN] = false; pavsScript.AddToQueue("Group", "han");
            }
            else if (globalHRP >= 90 && diffGlobalHRP > 0 && group_st[SndTrigType.HVM])
            {
                group_st[SndTrigType.HVM] = false; pavsScript.AddToQueue("Group", "hvm");
            }

            if (globalHRP >= 65)
            {
                group_st[SndTrigType.LM] = true;
            }
            if (globalHRP >= 75)
            {
                group_st[SndTrigType.LWC] = true;
            }
            if (globalHRP >= 85)
            {
                group_st[SndTrigType.LA] = true;
            }
            if (globalHRP < 55)
            {
                group_st[SndTrigType.HWC] = true;
            }
            if (globalHRP < 65)
            {
                group_st[SndTrigType.HA] = true;
            }
            if (globalHRP < 75)
            {
                group_st[SndTrigType.HAN] = true;
            }
            if (globalHRP < 85)
            {
                group_st[SndTrigType.HVM] = true;
            }
        }



        UpdateGroupUI();
    }