Esempio n. 1
0
        public void SetHp(string heroId, bool isShowTempHp)
        {
            //float fullHp = 0;
            int   level   = 0;
            int   peak    = 0;
            float percent = 0;

            if (int.Parse(heroId) < 0)//是否雇佣
            {
                var hireInfo = LTInstanceHireUtil.GetHireInfoByHeroId(int.Parse(heroId));
                if (hireInfo != null)
                {
                    float fullHp = hireInfo.base_MaxHP;
                    float curHp  = 0;
                    if (isShowTempHp)
                    {
                        curHp = LTHotfixManager.GetManager <SceneManager>().GetChallengeTempHp(heroId);
                    }
                    else
                    {
                        curHp = LTChallengeInstanceHpCtrl.GetCombatHp(heroId);
                    }
                    percent = curHp / fullHp;
                    level   = hireInfo.level;
                }
            }
            else
            {
                if (isShowTempHp)
                {
                    float curHp  = LTHotfixManager.GetManager <SceneManager>().GetChallengeTempHp(heroId);
                    float fullHp = 0;
                    DataLookupsCache.Instance.SearchDataByID <float>(string.Format("userCampaignStatus.challengeChapters.team.{0}.MHP", heroId), out fullHp);
                    percent = curHp / fullHp;
                }
                else
                {
                    percent = LTChallengeInstanceHpCtrl.GetCombatHPPercent(heroId);
                }
                DataLookupsCache.Instance.SearchIntByID(string.Format("heroStats.{0}.stat.level", heroId), out level);

                DataLookupsCache.Instance.SearchIntByID(string.Format("heroStats.{0}.proficiency.1.1", heroId), out peak);
            }

            percent = Mathf.Min(percent, 1);

            PercentLabel.text = percent.ToString("0%");
            HpProgress.value  = percent;

            DeathLabel.gameObject.SetActive(percent <= 0);
            PercentLabel.gameObject.SetActive(percent > 0);

            LTUIUtil.SetLevelText(LevelLabel.transform.parent.GetComponent <UISprite>(), LevelLabel, level + peak);
        }
Esempio n. 2
0
        private void SetColor(string heroId, bool isShowTempHp)
        {
            float hp = 0;

            if (isShowTempHp)
            {
                hp = LTHotfixManager.GetManager <SceneManager>().GetChallengeTempHp(heroId);
            }
            else
            {
                hp = LTChallengeInstanceHpCtrl.GetCombatHp(heroId);
            }
            if (hp <= 0)
            {
                Icon.color = GreyColor;
                QuantityLevelSprite.color = GreyColor;
                QuantityBGSprite.color    = Color.gray;
                AttrSprite.color          = GreyColor;
                HpSet.LevelLabel.transform.parent.GetComponent <UISprite>().color = GreyColor;
                for (int i = 0; i < StarList.Length; i++)
                {
                    StarList[i].GetComponent <UISprite>().color = GreyColor;
                }
            }
            else
            {
                Icon.color = WhiteColor;
                QuantityLevelSprite.color = WhiteColor;
                //QuantityBGSprite.color = WhiteColor;
                AttrSprite.color = WhiteColor;
                HpSet.LevelLabel.transform.parent.GetComponent <UISprite>().color = WhiteColor;
                for (int i = 0; i < StarList.Length; i++)
                {
                    StarList[i].GetComponent <UISprite>().color = WhiteColor;
                }
            }
        }