Example #1
0
        private bool OnNumAccumForDemo2(IGEvent inEvent)
        {
            bool ret = false;

            LMEvent_NumAccumForDemo2 realEvt = inEvent as LMEvent_NumAccumForDemo2;

            int newVal = realEvt.mNumberToAccum + 1;

            //注意这里异步发给了自己,下一帧就会收到//
            LMEvent_NumAccumForDemo2 anEvtToMyself = FakeObjPoolMgr.FetchAutoRecycleObj <LMEvent_NumAccumForDemo2>();

            anEvtToMyself.mNumberToAccum = newVal;
            SendEventAsync(anEvtToMyself);

            //注意这里给M层也发了一份,那边是 DisplayUIForDemo2 等着收//
            if (X2MBridge.IsValid)
            {
                LMEvent_NumAccumForDemo2 anotherEvtToM = FakeObjPoolMgr.FetchAutoRecycleObj <LMEvent_NumAccumForDemo2>();
                anotherEvtToM.mNumberToAccum = newVal;
                //注意这里发送给了M层//
                X2MBridge.Instance.SendEventAsync(anotherEvtToM);
            }

            return(ret);
        }
Example #2
0
        public override void OnLogicNodeUpdate(float inDeltaTime)
        {
            base.OnLogicNodeUpdate(inDeltaTime);

            //所有线程都已经启动完成//
            if (LMDataOcean.mNetThreadStarted && LMDataOcean.mLogicThreadStarted && LMDataOcean.mMainThreadStarted)
            {
                mTimeAccumForOnSec += inDeltaTime;
                if (mTimeAccumForOnSec >= 1.0f)
                {
                    mTimeAccumForOnSec -= 1.0f;

                    //服务器认为自己可以走一帧了//
                    mServerFrame++;

                    if (X2LBridge.IsValid)
                    {
                        //通知客户端走一帧//
                        LMNEvent_ServerGoOneFrameForDemo3 evt = FakeObjPoolMgr.FetchAutoRecycleObj <LMNEvent_ServerGoOneFrameForDemo3>();
                        evt.mServerFrame = mServerFrame;
                        X2LBridge.Instance.SendEventAsync(evt);
                    }
                }
            }
        }
Example #3
0
        public void Start()
        {
            /*
             * ---------------------------------
             * Demo1逻辑的入口
             * 注意这里起到了启动计数逻辑作用
             * --------------------------------
             */
            LMEvent_NumAccumForDemo1 evt = FakeObjPoolMgr.FetchAutoRecycleObj <LMEvent_NumAccumForDemo1>();

            evt.mNumberToAccum = 0;
            X2MBridge.Instance.SendEventAsync(evt);
        }
Example #4
0
        /// <summary>
        /// 内部实现
        /// </summary>
        /// <param name="inStr"></param>
        /// <param name="inLevel"></param>
        /// <param name="param"></param>
        private static void _Log(string inStr, DemoLogLevel inLevel, params object[] param)
        {
            if (param != null && param.Length > 0)
            {
                inStr = string.Format(inStr, param);
            }

            LMEvent_LogToUnity evt = FakeObjPoolMgr.FetchAutoRecycleObj <LMEvent_LogToUnity>();

            evt.mLogLevel = inLevel;
            evt.mLogStr   = inStr;
            X2MBridge.Instance.SendEventAsync(evt);
        }
        public void Start()
        {
            /*
             * ---------------------------------
             * Demo2逻辑的入口
             * 注意这里起到了启动计数逻辑作用
             * --------------------------------
             */
            LMEvent_ShowDisplayUIForDemo2 showUIEvt = FakeObjPoolMgr.FetchAutoRecycleObj <LMEvent_ShowDisplayUIForDemo2>();

            X2MBridge.Instance.SendEventAsync(showUIEvt);

            //开始计数//
            LMEvent_NumAccumForDemo2 startAccEvt = FakeObjPoolMgr.FetchAutoRecycleObj <LMEvent_NumAccumForDemo2>();

            X2LBridge.Instance.SendEventAsync(startAccEvt);
        }
Example #6
0
        private bool OnNumAccumForDemo1(IGEvent inEvent)
        {
            bool ret = false;

            LMEvent_NumAccumForDemo1 realEvt = inEvent as LMEvent_NumAccumForDemo1;

            if (X2LBridge.IsValid)
            {
                LMEvent_NumAccumForDemo1 evt = FakeObjPoolMgr.FetchAutoRecycleObj <LMEvent_NumAccumForDemo1>();
                evt.mNumberToAccum = realEvt.mNumberToAccum + 1;

                //注意这里发送给了L层//
                X2LBridge.Instance.SendEventAsync(evt);

                LogUtil.Debug("MNumAccSys.OnNumAccum: MFrame {0}, from {1} to {2}",
                              LMDataOcean.mMainThreadFrameCounter, realEvt.mNumberToAccum, evt.mNumberToAccum);
            }

            return(ret);
        }