public void setWordEffect(WordEffect eff) { eff.isEnabled = false; eff.transform.parent = GameManager.me.assetPool; _getWordEffectList.Remove(eff); _getWordEffectPool.Push(eff); }
// -- 문자 이펙트 -- // public void destroyWordEffect(WordEffect eff) { //Debug.LogError("eff : " + eff); eff.isEnabled = false; eff.destroyAsset(); Destroy(eff.gameObject); }
public IEnumerator preLoad() { int i = 0; yield return(null); for (i = 0; i < 15; ++i) { tk2dAnimatedSprite spr; if (_tk2dAnimatedSpritePool.Count > 0) { spr = _tk2dAnimatedSpritePool.Pop(); } else { spr = ((tk2dAnimatedSprite)Instantiate(animatedSprite)); } spr.StopAndResetFrame(); spr.transform.parent = GameManager.me.assetPool; spr.gameObject.SetActive(false); _tk2dAnimatedSpritePool.Push(spr); } // Debug.Log("tk2dAnimatedSprite Complete"); yield return(null); for (i = 0; i < 25; ++i) { WordEffect we = (WordEffect)Instantiate(wordEffect); we.gameObject.SetActive(false); we.isEnabled = false; we.transform.parent = GameManager.me.assetPool; _getWordEffectPool.Push(we); } // Debug.Log("WordEffect Complete"); yield return(null); for (i = 0; i < 20; ++i) { GetItemEffect ge = (GetItemEffect)Instantiate(getItemEffect); ge.gameObject.SetActive(false); ge.isEnabled = false; ge.transform.parent = GameManager.me.assetPool; _getItemEffectPool.Push(ge); } // Debug.Log("GetItemEffect Complete"); yield return(null); }
public void hpEffect(float value) { if (GameManager.me.recordMode == GameManager.RecordMode.continueGame) { return; } #if UNITY_EDITOR if (BattleSimulator.nowSimulation && BattleSimulator.instance.skipTime > 0.5f) { return; } #endif //- 커졌다 작아지며 위로 올라가면서 사라지게 //- HP감소시 : 아군 (빨강색) -00 // - 적 (하얀색) 00 //- HP증가시 : 아군 (노랑색) +00 // / 적 (보라색) +00 if (value >= 1) { if (isPlayer) { WordEffect.showWordEffect(((int)value).ToString(), playerSidePlusHpColor, cTransform, _boundExtens.y * 0.7f); } else if (isPlayerSide) { } else { WordEffect.showWordEffect(((int)value).ToString(), monsterSidePlusHpColor, cTransform, _boundExtens.y * 0.7f); } } else if (value <= -1) { //데미지를 입을 때, 데미지 양에 따라 파편의 개수가 결정 - 전체 HP를 기준으로.. 데미지가 N%라고 했을 때, N*A 개 파티클이 튐 //q.eulerAngles = tf.rotation.eulerAngles;// new Vector3(0,(effect.cha.isPlayerSide)?0:180,0); float absValue = MathUtil.abs(value); float per = absValue / maxHp * 100.0f; damageParticleNum = (int)(per * DAMAGE_PARTICLE_NUM_RATIO); if (damageParticleNum < DAMAGE_PARTICLE_MIN_NUM) { damageParticleNum = DAMAGE_PARTICLE_MIN_NUM; } else if (damageParticleNum > DAMAGE_PARTICLE_MAX_NUM) { damageParticleNum = DAMAGE_PARTICLE_MAX_NUM; } if (isPlayer) { WordEffect.showWordEffect("-" + ((int)absValue), playerPlayerMinusHpColor, cTransform, _boundExtens.y * 0.7f); if (isPlayerSide && hpPer < 0.15f) { GameManager.me.uiManager.uiPlay.setPlayerDamageEffect(); } } else if (isPlayerSide) { //WordEffect.showWordEffect( "-"+((int)absValue), playerSideMinusHpColor, cTransform, _boundExtens.y * 0.7f); } else { WordEffect.showWordEffect("" + ((int)absValue), monsterSideMinusHpColor, cTransform, _boundExtens.y * 0.7f); } #if UNITY_EDITOR if (BattleSimulator.nowSimulation) { return; } #endif if (PerformanceManager.isLowPc == false) { GameManager.info.effectData[Effect.E_HIT_PARTICLE01].getDamageParticleEffectByCharacterSize(this, null, tf, damageParticleNum); } } }
/// <summary> /// 选择当前动画模式 /// </summary> /// <param name="mode"></param> public void ChangeEffectMode(WordEffect mode) { WordEffectMode = mode; InitData(); }