Esempio n. 1
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. 2
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();
        });
    }