Ejemplo n.º 1
0
        public IEnumerator HP_Buff_And_Debuff()
        {
            CBuffManager_Test pObjectTester = new GameObject(nameof(HP_Buff_And_Debuff)).AddComponent <CBuffManager_Test>();
            CBuffManager <ETestBuffType, TestBuffBase> pBuffManager = new CBuffManager <ETestBuffType, TestBuffBase>();

            HPContainer pHPContainer = new HPContainer(const_iInitHP);

            pBuffManager.DoAwake(pObjectTester, new Buff_AddHP(pHPContainer), new Debuff_DecreaseHP(pHPContainer));
            Time.timeScale = 3f;

            int iDecreasePower = Random.Range(1, 5);

            pBuffManager.DoAddBuff(ETestBuffType.Debuff_DecreaseHP, const_iInitHP, iDecreasePower);

            Assert.AreEqual(pHPContainer.iHP, const_iInitHP);

            float fElapseTime = 0f;

            while (pHPContainer.p_bIsAlive)
            {
                pBuffManager.OnUpdate(1f);

                fElapseTime += Time.deltaTime;
                yield return(null);
            }

            Assert.AreEqual(pHPContainer.iHP, 0);
            Assert.IsFalse(pBuffManager.p_mapBuffWorking.ContainsKey(ETestBuffType.Debuff_DecreaseHP));

            fElapseTime = 0f;
            int iRecoveryPower = Random.Range(1, 5);

            pBuffManager.DoAddBuff(ETestBuffType.Buff_AddHP, const_iInitHP, iRecoveryPower);
            while (pHPContainer.iHP != pHPContainer.iHP_MAX)
            {
                pBuffManager.OnUpdate(1f);

                fElapseTime += Time.deltaTime;
                yield return(null);
            }

            Assert.AreEqual(pHPContainer.iHP, pHPContainer.iHP_MAX);
            Assert.IsFalse(pBuffManager.p_mapBuffWorking.ContainsKey(ETestBuffType.Buff_AddHP));

            Time.timeScale = 1f;
            yield break;
        }
Ejemplo n.º 2
0
 public Debuff_DecreaseHP(HPContainer pHPContainer)
 {
     _pHPContainer = pHPContainer;
 }
Ejemplo n.º 3
0
 public Buff_AddHP(HPContainer pHPContainer)
 {
     _pHPContainer = pHPContainer;
 }