public void ShowTargetFx(int changedInstId)
    {
        // 타겟이 변경 되었거나 내 캐릭터의 타겟 정보만 처리한다
        if (Owner.TargetID == changedInstId)
        {
            return;
        }

        // despawn Fx
        if (null != TargetingEffect)
        {
            SelfDespawn.ClearPartileSystem(TargetingEffect);
            G_GameInfo.EffectPool.Despawn(TargetingEffect, G_GameInfo.EffectPool.group);
            TargetingEffect = null;
        }

        Unit Target = null;

        if (!G_GameInfo.CharacterMgr.InvalidTarget(changedInstId, ref Target))
        {
            TargetingEffect = G_GameInfo.SpawnEffect("Fx_Targeting", 1f, Target.transform, Target.transform, Owner.Model.ScaleVec3);
            if (TargetingEffect.gameObject.layer != 0)
            {
                NGUITools.SetChildLayer(TargetingEffect, 0);
            }
        }
    }
Esempio n. 2
0
    override public void OnEnter(System.Action callback)
    {
        base.OnEnter(callback);

        parent.SpawnEffect("Fx_Monstor_Death_01", 2, parent.cachedTransform, null, false, (deadFx) =>
        {
            duration = SelfDespawn.DespawnPartileSystem("Effect", deadFx, 1.5f) * 1.2f;
        });

        parent.DeleteShadow();
        parent.DeadEffect(1.5f, () =>
        {
            EndDelay = 0.5f;
        });

        EndDelay = float.MaxValue;
    }
Esempio n. 3
0
    //< 모델 삭제
    void ModelDestroy()
    {
        if (ModelObj == null)
        {
            MyDestroy();
            return;
        }

        if (!bNetInit)
        {
            return;
        }

        //< 업데이트를 막기위함
        bNetInit = false;

        //< 이펙트가 출력되고있을수도 있기때문에 잠시후에 삭제시켜줌
        ModelObj.gameObject.SetActive(false);
        TempCoroutine.instance.FrameDelay(2, () =>
        {
            if (ModelObj != null)
            {
                FxMakerPoolItem poolItem = ModelObj.transform.GetComponent <FxMakerPoolItem>();
                if (null == poolItem)
                {
                    SelfDespawn.DespawnPartileSystem("Projectile", ModelObj.transform, 0.1f, true);
                }
                else if (null != poolItem)
                {
                    poolItem.ManualDespawn();
                }

                ModelObj = null;
            }

            //< 나도 삭제
            MyDestroy();
        });
    }