public override void OnSpecialNtf(PACKET_UNIT_SPECIAL_NTF pkt) { switch (pkt._ival) { case 0: chargeCompleteTime = pkt._fval1; chargeLevelUpTime = chargeCompleteTime / chargeLevelNum; sparkyState = SparkyState.LEVEL_ONE; startCharge = true; break; case 1: animator.SetTrigger(STAND_TRIGGER); ChangeState <UnitStateDoNothing>(); break; } }
void LevelUpState() { switch (sparkyState) { case SparkyState.LEVEL_ONE: sparkyState = SparkyState.LEVEL_TWO; SoundManager.GetInstance().Play(EFFECT_TYPE.SparkyCharge, 0.0f, 1.0f); particlePlayer.Play(PARTICLE_TYPE.SparkyLevelUp, transform.position); break; case SparkyState.LEVEL_TWO: sparkyState = SparkyState.LEVEL_THREE; SoundManager.GetInstance().Play(EFFECT_TYPE.SparkyCharge, 0.0f, 1.5f); particlePlayer.Play(PARTICLE_TYPE.SparkyLevelUp, transform.position); break; case SparkyState.LEVEL_THREE: sparkyState = SparkyState.COMPLETE; SoundManager.GetInstance().Play(EFFECT_TYPE.SparkyCharge, 0.0f, 3.0f); particlePlayer.Play(PARTICLE_TYPE.ChargeComplete, transform.position); particlePlayer.Play(PARTICLE_TYPE.SparkyLevelUp, transform.position); break; } }
IEnumerator ChangeToLevelOne(float delay) { yield return(new WaitForSeconds(delay)); sparkyState = SparkyState.LEVEL_ONE; }