Beispiel #1
0
 public void setWordEffect(WordEffect eff)
 {
     eff.isEnabled        = false;
     eff.transform.parent = GameManager.me.assetPool;
     _getWordEffectList.Remove(eff);
     _getWordEffectPool.Push(eff);
 }
Beispiel #2
0
    // -- 문자 이펙트 -- //

    public void destroyWordEffect(WordEffect eff)
    {
        //Debug.LogError("eff : " + eff);

        eff.isEnabled = false;
        eff.destroyAsset();
        Destroy(eff.gameObject);
    }
Beispiel #3
0
    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();
 }