Example #1
0
    Transform CreateEffect(int num = 1)
    {
        Engine.IEffect m_effect = null;
        for (int i = 0; i < num; i++)
        {
            Engine.IRenderSystem rs = Engine.RareEngine.Instance().GetRenderSystem();
            if (rs != null)
            {
                table.ResourceDataBase rd = GameTableManager.Instance.GetTableItem <table.ResourceDataBase>(50007);
                if (rd == null)
                {
                    return(null);
                }

                string path = rd.strPath;

                bool success = rs.CreateEffect(ref path, ref m_effect, OnCreateEffectEvent, Engine.TaskPriority.TaskPriority_Immediate);
                if (success)
                {
                    m_effect.GetNode().SetScale(Vector3.one);
                    m_effect.GetNode().GetTransForm().SetChildLayer(LayerMask.NameToLayer("UI"));
                }
            }
        }

        if (m_effect != null)
        {
            return(m_effect.GetNodeTransForm());
        }

        return(null);
    }
Example #2
0
 public void AddParticle(uint resId, Action <Engine.IEffect> oncomplete = null, Engine.EffectCallback endCallback = null)
 {
     //ReleaseParticle();
     m_uResId = resId;
     Engine.IRenderSystem rs = Engine.RareEngine.Instance().GetRenderSystem();
     if (rs != null)
     {
         table.ResourceDataBase rd = GameTableManager.Instance.GetTableItem <table.ResourceDataBase>(resId);
         if (rd == null)
         {
             Engine.Utility.Log.Error("ID为{0}的资源为空", resId);
             return;
         }
         string path = rd.strPath;
         if (string.IsNullOrEmpty(path))
         {
             return;
         }
         m_oncomplete = oncomplete;
         bool success = rs.CreateEffect(ref path, ref m_effect, OnCreateEffectEvent, Engine.TaskPriority.TaskPriority_Immediate, cb: endCallback);
         if (success)
         {
             UpdateEffectWidget();
         }
     }
 }
Example #3
0
    public void ShowFxTips(uint effectResId)
    {
        m_trans_fxRoot.gameObject.SetActive(true);

        table.ResourceDataBase rdb = GameTableManager.Instance.GetTableItem <table.ResourceDataBase>(effectResId);
        if (rdb == null)
        {
            return;
        }

        Engine.IRenderSystem es = Engine.RareEngine.Instance().GetRenderSystem();
        if (es == null)
        {
            return;
        }

        string path = rdb.strPath;

        Engine.IEffect effect = null;

        if (es.CreateEffect(ref path, ref effect))
        {
            Transform transf = effect.GetNodeTransForm();

            if (transf == null)
            {
                return;
            }

            transf.parent        = m_trans_fxRootContent;
            transf.localPosition = Vector3.zero;

            m_trans_fxRootContent.SetChildLayer(LayerMask.NameToLayer("UI"));
        }
    }