Пример #1
0
        //=======================

        public IGREffectParticles createEffect(string id)
        {
            IGREffectParticles eff = _world.createEntity(Define.GREntityType.EFFECT_PARTICLE, id) as IGREffectParticles;
            string             path;

            if (id.Length < 20)
            {
                Variant conf = GraphMgr.getEffectConf(id);
                if (conf == null)
                {
                    GameTools.PrintError("createEffect[" + id + "] no conf ERR!");
                    return(null);
                }
                path = conf["file"]._str;
            }
            else
            {
                path = id;
            }

            eff.asset = os.asset.getAsset <IAssetParticles>(path);
            if (eff == null)
            {
                GameTools.PrintError("createEffect[" + id + "] ERR!");
                return(null);
            }

            return(eff);
        }
Пример #2
0
        private void _onProcess(float tmSlice)
        {        //todo profile
            List <IProcess> _remove = new List <IProcess>();
            int             i       = 0;
            IProcess        p;

            // 统计消息处理时间,profiler分析
            double startTm = CCTime.getTickMillisec();

            for (i = 0; i < _processVec.Count; i++)
            {
                p = _processVec[i];
                if (p == null)
                {
                    GameTools.PrintError("processQueue onProcess null!");
                    continue;
                }

                if (p.pause)
                {
                    continue;
                }
                if (p.destroy)
                {
                    _remove.Add(p);
                    continue;
                }


                double beginTm = CCTime.getTickMillisec();

                p.updateProcess(tmSlice);

                double procTm = CCTime.getTickMillisec() - beginTm;
                ProfilerManager.inst.profilerMark(procTm, _debugFlag, p.processName);

                if (startTm - beginTm > _limittmMS)
                {
                    break;
                }
            }

            foreach (IProcess match in _remove)
            {
                for (i = _processVec.Count - 1; i >= 0; i--)
                {
                    p = _processVec[i];
                    if (match != p)
                    {
                        continue;
                    }
                    _processVec.RemoveAt(i);
                    break;
                }
            }
        }
Пример #3
0
        public void removeTimer(long id)
        {
            if (!_timers.ContainsKey(id))
            {
                GameTools.PrintError("removeTimer id[" + id + "] err!");
                return;
            }
            ITimer t = _timers[id];

            g_processM.removeProcess(t);
        }
Пример #4
0
        private void _onProcess(float tmSlice)
        {
            List <IProcess> list = new List <IProcess>();
            double          num  = (double)CCTime.getTickMillisec();

            for (int i = 0; i < this._processVec.Count; i++)
            {
                IProcess process = this._processVec[i];
                bool     flag    = process == null;
                if (flag)
                {
                    GameTools.PrintError("processQueue onProcess null!");
                }
                else
                {
                    bool pause = process.pause;
                    if (!pause)
                    {
                        bool destroy = process.destroy;
                        if (destroy)
                        {
                            list.Add(process);
                        }
                        else
                        {
                            double num2 = (double)CCTime.getTickMillisec();
                            process.updateProcess(tmSlice);
                            double procTm = (double)CCTime.getTickMillisec() - num2;
                            ProfilerManager.inst.profilerMark(procTm, this._debugFlag, process.processName);
                            bool flag2 = num - num2 > (double)this._limittmMS;
                            if (flag2)
                            {
                                break;
                            }
                        }
                    }
                }
            }
            foreach (IProcess current in list)
            {
                for (int i = this._processVec.Count - 1; i >= 0; i--)
                {
                    IProcess process = this._processVec[i];
                    bool     flag3   = current != process;
                    if (!flag3)
                    {
                        this._processVec.RemoveAt(i);
                        break;
                    }
                }
            }
        }
Пример #5
0
        public void removeTimer(long id)
        {
            bool flag = !this._timers.ContainsKey(id);

            if (flag)
            {
                GameTools.PrintError("removeTimer id[" + id + "] err!");
            }
            else
            {
                ITimer p = this._timers[id];
                this.g_processM.removeProcess(p, false);
            }
        }
Пример #6
0
        public void addProcess(IProcess p)
        {
            if (p == null)
            {
                GameTools.PrintError("processQueue addProcess null!");
                return;
            }
            if (p.processName == "")
            {
                GameTools.PrintError("processQueue addProcess processName null!");
            }

            if (p.destroy)
            {
                p.destroy = false;
            }
            _processVec.Add(p);
        }
Пример #7
0
        public void addProcess(IProcess p)
        {
            bool flag = p == null;

            if (flag)
            {
                GameTools.PrintError("processQueue addProcess null!");
            }
            else
            {
                bool flag2 = p.processName == "";
                if (flag2)
                {
                    GameTools.PrintError("processQueue addProcess processName null!");
                }
                bool destroy = p.destroy;
                if (destroy)
                {
                    p.destroy = false;
                }
                this._processVec.Add(p);
            }
        }
Пример #8
0
        public IGREffectParticles createEffect(string id)
        {
            IGREffectParticles iGREffectParticles = this._world.createEntity(Define.GREntityType.EFFECT_PARTICLE, id) as IGREffectParticles;
            bool flag = id.Length < 20;
            IGREffectParticles result;
            string             assetPath;

            if (flag)
            {
                Variant effectConf = this.GraphMgr.getEffectConf(id);
                bool    flag2      = effectConf == null;
                if (flag2)
                {
                    GameTools.PrintError("createEffect[" + id + "] no conf ERR!");
                    result = null;
                    return(result);
                }
                assetPath = effectConf["file"]._str;
            }
            else
            {
                assetPath = id;
            }
            iGREffectParticles.asset = os.asset.getAsset <IAssetParticles>(assetPath);
            bool flag3 = iGREffectParticles == null;

            if (flag3)
            {
                GameTools.PrintError("createEffect[" + id + "] ERR!");
                result = null;
            }
            else
            {
                result = iGREffectParticles;
            }
            return(result);
        }