예제 #1
0
 bool checkCachedHudType(hudTypes test)
 {
     if (test != cachedHudType)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
예제 #2
0
    // Update is called once per frame
    void FixedUpdate()
    {
        timer = hudTimer.solveFTimer();
        if (threat.ini)
        {
            //if (!CheckcachedDistance(testDistance))
            //{
            threat.SetThreatDistance(testDistance);
            cachedDistance = testDistance;
            //Debug.Log("cached");
            // }



            threat.UpdateHud(timer);
            //TMP = threat.GetDebugTMP();
            //debugArrowTimer = threat.GetArrowTimer();
            //debugGetSetEnergy = threat.GetSetEnergy();
        }
        else if (!threat.ini)
        {
            threat.SetHudType(hudTypes.combat);
            threat.SetThreatDistance(10f);
            cachedDistance = 10;
        }

        if (hudBall.ballini)
        {
            if (!checkCachedBombs(bombs) || !checkCachedPB(PBamount))
            {
                hudBall.SetBombParams(PBamount, 1, bombs, false);
                cachedBombs = bombs;
                cachedPBs   = PBamount;
            }
        }
        else if (!hudBall.ballini)
        {
            hudBall.SetBombParams(1, 1, 3, true);
            cachedBombs = 3;
            cachedPBs   = 1;
        }

        if (hudMissiles.missIni == true)
        {
            hudMissiles.UpdateHud(timer);
            if (!checkCachedmissiles(currMiss))
            {
                hudMissiles.SetNumMissiles(currMiss);
                hudMissiles.SetIsMissilesActive(true);
                if (!missileTimerRunning)
                {
                    missileTimerRunning = true;
                }
                else
                {
                    mRenderTime = 0;
                }

                cachedCurrMis = currMiss;
            }
            missActiveTimer();
            debugMissilesActive = hudMissiles.GetIsMissilesActive();
            if (!checkCachedMaxmissiles(maxMiss))
            {
                hudMissiles.SetMissileCapacity(maxMiss);
                cachedMaxMiss = maxMiss;
            }
            //invStatus = hudMissiles.GetInvStatus();

            //warningPulse = hudMissiles.debugWarnPulse;
            //missileAlpha = hudMissiles.debugMissileWarningAlpha;
        }
        else if (!hudMissiles.missIni)
        {
            hudMissiles.missInit(5, 5, false);
            cachedCurrMis = 5;
            cachedMaxMiss = 5;
        }

        if (hudHealth.initHealth)
        {
            hudHealth.SetEnergyLow(IsEnergyLow());
            //if (hudAnimator)
            //{
            //if (IsEnergyLow())
            //  hudAnimator.StopPlayback();
            //else
            //      hudAnimator.StartPlayback();

            //}
            //else
            //{
            UpdateEnergyLow(tempTimer());
            hudHealth.UpdateHud(timer, energyLowPulse);
            //}



            //DebugWarningPulse = energyLowPulse;
            //debugLowTimer = energyLowTimer;


            if (!checkCachedEnergy(currEnergy))
            {
                hudHealth.SetCurrEnergy(currEnergy, false);
                cachedCurrEnergy = currEnergy;
            }
            if (!checkCachedtanks(numTanks))
            {
                hudHealth.SetNumFilledEnergyTanks(numTanks);
                cachedNumTanks = numTanks;
            }
            if (!checkCachedTotalTanks(totalTanks))
            {
                hudHealth.SetNumTotalEnergyTanks(totalTanks);
                cachedTotalTanks = totalTanks;
            }
            if (!checkCachedHudType(hudType))
            {
                hudHealth.setHudType(hudType);
                cachedHudType = hudType;
            }

            //if (!chechCachedHealthP(HealthP)&&hudHealth.GetCalculateMode()==hudEnergyBar.CalculateMode.manual)
            //{
            //    hudHealth.SetHealthP(HealthP);
            //    cachedHealthP = HealthP;
            //}
        }
        else if (!hudHealth.initHealth)
        {
            if (hudType == hudTypes.combat)
            {
                hudHealth.initValues(hudTypes.combat, 100f, 6, 1, false);
            }
            else
            {
                hudHealth.initValues(hudType, 100f, 6, 1, false);
            }
            cachedCurrEnergy = 100;
            cachedNumTanks   = 0;
            cachedTotalTanks = 6;
            cachedHudType    = hudType;
        }

        if (hudBossEnergy.bossIni && activeBoss == true)
        {
            if (!chechCachedBossHealth(bossHealth))
            {
                hudBossEnergy.SetCurrHealth(bossHealth);


                debugBossHealth    = hudBossEnergy.GetCurrentHealth();
                debugBossMaxHealth = hudBossEnergy.GetMaxEnergy();
            }
            //if (!chechCachedBossP(bossHealthP))
            //{
            //    hudBossEnergy.SetHealthPer(bossHealthP);
            //    cachedBossHealthP = bossHealthP;
            //}
            hudBossEnergy.SetAlpha(bossAlpha(timer));
            hudBossEnergy.hudUpdate(timer);
            //debugColor = hudBossEnergy.debugColor;
        }
        else if (!hudBossEnergy.bossIni && activeBoss == true)
        {
            boss.SetActive(true);
            hudBossEnergy.SetBossParams(true, "Example Name", "Example Sub", bossHealth, 100f);
            cachedBossHealth = bossHealth;
        }
        else if (activeBoss == false)
        {
            boss.SetActive(false);
        }
        if (hudType == hudTypes.combat)
        {
            BallHud.SetActive(false);
            if (!CombatHud.activeInHierarchy || !Helmet.activeInHierarchy)
            {
                CombatHud.SetActive(true);
                Helmet.SetActive(true);
            }
        }
        else if (hudType == hudTypes.ball)
        {
            CombatHud.SetActive(false);
            Helmet.SetActive(false);
            if (!BallHud.activeInHierarchy)
            {
                BallHud.SetActive(true);
            }
        }
        threat.Draw();
    }
예제 #3
0
    void updateItems(hudTypes hud)
    {
        if (hud == hudTypes.combat)
        {
            //string path = "combatHud";

            //cEnergyDigits = gameObject.transform.Find(path + "/EnergyBar/healthDigits").gameObject.GetComponent<Text>();
            //List<Transform> tempList = new List<Transform>();
            //tempList.AddRange(gameObject.transform.Find(path).GetComponentsInChildren<Transform>());
            //foreach (Transform item in tempList)
            //{
            //    if (item.name.StartsWith("EnergyTankBack"))
            //    {
            //        cEmptyTanks.Add(item.gameObject.GetComponent<Image>());
            //    }
            //    else if (item.name.StartsWith("EnergyTank") && !item.name.Contains("Back"))
            //    {
            //        cFilledTanks.Add(item.gameObject.GetComponent<Image>());
            //    }
            //}
            //cEnergyWarning = gameObject.transform.Find(path + "/EnergyBar/EnergyWarning").gameObject.GetComponent<Text>();
            //cEnergyBar = gameObject.transform.Find("combatVisor/basewidget_energystuff/energybart01_energybar/HealthBack/HealthBar").gameObject.GetComponent<hudEnergyBar>();
            cEnergyDigits  = combatEnergyDigits;
            cEmptyTanks    = combatEmptyTanks;
            cFilledTanks   = combatFilledTanks;
            cEnergyWarning = combatEnergyWarning;
            cEnergyBar     = combatEnergyBar;
        }
        else
        {
            //string path = "ballHUD";

            //cEnergyDigits = gameObject.transform.Find(path + "/Text/healthText").gameObject.GetComponent<Text>();
            //List<Transform> tempList = new List<Transform>();
            //tempList.AddRange(gameObject.transform.Find(path + "/EnergyTanks").GetComponentsInChildren<Transform>());
            //foreach (Transform item in tempList)
            //{
            //    if (item.name.StartsWith("empty"))
            //    {
            //        cEmptyTanks.Add(item.gameObject.GetComponent<Image>());
            //    }
            //    else if (item.name.StartsWith("fill") && !item.name.Contains("empty"))
            //    {
            //        cFilledTanks.Add(item.gameObject.GetComponent<Image>());
            //    }
            //}
            //cEnergyWarning = gameObject.transform.Find(path + "/Text/EnergyWarning").gameObject.GetComponent<Text>();
            //cEnergyBar = gameObject.transform.Find(path + "/healthBar/background/healthBar").gameObject.GetComponent<hudEnergyBar>();
            cEnergyDigits  = ballEnergyDigits;
            cEnergyBar     = ballEnergyBar;
            cEmptyTanks    = ballEmptyTanks;
            cFilledTanks   = ballFilledTanks;
            cEnergyWarning = ballEnergyWarning;
        }
        if (hud == hudTypes.combat)
        {
            initColors = hudColors.getVisorEnergyInitColors(true);
            barColors  = hudColors.getVisorEnergyBarColors(true);
        }
        else
        {
            initColors = hudColors.getVisorEnergyInitColors(false);
            barColors  = hudColors.getVisorEnergyBarColors(false);
        }
    }
예제 #4
0
    //  public void SetCalculateMode(hudEnergyBar.CalculateMode calculate) { calculateMode = calculate; }
    // public hudEnergyBar.CalculateMode GetCalculateMode(){ return calculateMode; }
    //  public void SetHealthP(float per) { healthP = per; }
    public void initValues(hudTypes hud, float TankEnergy, int totalTanks, int NumTanksFilled, bool EnergyLow)
    {
        //calculateMode = calculate;
        hudTypes         = hud;
        tankEnergy       = TankEnergy;
        totalEnergyTanks = totalTanks;
        numTanksFilled   = NumTanksFilled;
        energyLow        = EnergyLow;
        cEmptyTanks      = new List <Image>();
        cFilledTanks     = new List <Image>();
        updateItems(hud);
        combatEnergyBar.SetTesselation(1f);
        ballEnergyBar.SetTesselation(1f);
        //energyBar.SetCalulateMode(calculate);

        combatEnergyBar.SetMaxEnergy(100f);
        ballEnergyBar.SetMaxEnergy(100f);
        combatEnergyBar.SetFilledColor(hudColors.getVisorEnergyBarColors(true).filled);
        ballEnergyBar.SetFilledColor(hudColors.getVisorEnergyBarColors(false).filled);
        combatEnergyBar.SetShadowColor(hudColors.getVisorEnergyBarColors(true).shadow);
        ballEnergyBar.SetShadowColor(hudColors.getVisorEnergyBarColors(false).shadow);
        combatEnergyBar.SetEmptyColor(hudColors.getVisorEnergyBarColors(true).empty);
        ballEnergyBar.SetEmptyColor(hudColors.getVisorEnergyBarColors(false).empty);

        combatEnergyBar.SetFilledDrainSpeed(99f);
        ballEnergyBar.SetFilledDrainSpeed(99f);
        combatEnergyBar.SetShadowDrainSpeed(20f);
        ballEnergyBar.SetShadowDrainSpeed(20f);
        combatEnergyBar.SetShadowDrainDelay(0.7f);
        ballEnergyBar.SetShadowDrainDelay(0.7f);
        combatEnergyBar.SetIsAlwaysResetTimer(false);
        ballEnergyBar.SetIsAlwaysResetTimer(false);
        cEnergyDigits.color      = initColors.digitsFont;
        combatEnergyDigits.color = hudColors.getVisorEnergyInitColors(true).digitsFont;
        ballEnergyDigits.color   = hudColors.getVisorEnergyInitColors(false).digitsFont;

        cEnergyDigits.gameObject.GetComponent <Outline>().effectColor      = initColors.digitsOutline;
        combatEnergyDigits.gameObject.GetComponent <Outline>().effectColor = hudColors.getVisorEnergyInitColors(true).digitsOutline;
        ballEnergyDigits.gameObject.GetComponent <Outline>().effectColor   = hudColors.getVisorEnergyInitColors(false).digitsOutline;

        cEnergyWarning.color      = hudColors.energyWarningFont;
        combatEnergyWarning.color = hudColors.energyWarningFont;
        ballEnergyWarning.color   = hudColors.energyWarningFont;
        cEnergyWarning.gameObject.GetComponent <Outline>().effectColor      = hudColors.energyWarningOutline;
        combatEnergyWarning.gameObject.GetComponent <Outline>().effectColor = hudColors.energyWarningOutline;
        ballEnergyWarning.gameObject.GetComponent <Outline>().effectColor   = hudColors.energyWarningOutline;
        if (energyLow)
        {
            cEnergyWarning.text      = "Energy Low";
            combatEnergyWarning.text = "Energy Low";
            ballEnergyWarning.text   = "Energy Low";
        }

        else
        {
            cEnergyWarning.text      = "";
            combatEnergyWarning.text = "";
            ballEnergyWarning.text   = "";
        }



        for (int i = 0; i < 6; i++)
        {
            cEmptyTanks[i].color       = initColors.tankEmpty;
            combatEmptyTanks[i].color  = hudColors.getVisorEnergyInitColors(true).tankEmpty;
            ballEmptyTanks[i].color    = hudColors.getVisorEnergyInitColors(false).tankEmpty;
            cFilledTanks[i].color      = initColors.tankFilled;
            combatFilledTanks[i].color = hudColors.getVisorEnergyInitColors(true).tankFilled;
            ballFilledTanks[i].color   = hudColors.getVisorEnergyInitColors(false).tankFilled;
        }
        for (int i = 0; i < 6; i++)
        {
            if (i < numTanksFilled)
            {
                cFilledTanks[i].gameObject.SetActive(true);
                combatFilledTanks[i].gameObject.SetActive(true);
                ballFilledTanks[i].gameObject.SetActive(true);
            }


            else
            {
                cFilledTanks[i].gameObject.SetActive(false);
                combatFilledTanks[i].gameObject.SetActive(false);
                ballFilledTanks[i].gameObject.SetActive(false);
            }
        }
        initHealth = true;
    }
예제 #5
0
 public void setHudType(hudTypes hud)
 {
     hudTypes = hud;
     updateItems(hud);
 }
예제 #6
0
 public void SetHudType(hudTypes hud)
 {
     hudType = hud;
 }