示例#1
0
        public void Tick()
        {
            if (m_IsRunning)
            {
                lock (m_mapSession)
                {
                    uint current = (uint)TimeUtils.GetTotalMillisecondsSince1970();

                    if (current - m_lastClearSessionTime > FSPSession.ActiveTimeout * 1000 / 2)
                    {
                        m_lastClearSessionTime = current;
                        ClearNoActiveSession();
                    }


                    var list = m_mapSession.AsList();
                    int cnt  = list.Count;
                    for (int i = 0; i < cnt; i++)
                    {
                        var session = list[i];
                        session.Tick(current);
                    }
                }
            }
        }
示例#2
0
 public void EnterFrame()
 {
     if (m_gateway.IsRunning)
     {
         var listGame = m_mapGame.AsList();
         for (int i = 0; i < listGame.Count; i++)
         {
             listGame[i].EnterFrame();
         }
     }
 }
示例#3
0
        /// <summary>
        /// 清除身上所有的BUFF
        /// </summary>
        public void ClearAllBuff()
        {
            SkillUtil.LogWarning(string.Format(" [BUFFMANAGER] [Target]->{0}  Clear All Buff",
                                               mContext.GetSelfActor().GetTransform().name));
            var list = buffMap.AsList();

            for (int i = 0; i < list.Count; i++)
            {
                TryRemoveBuff(list[i].GetBuffId(), true);
            }
        }
示例#4
0
        void ForEachBehaviour(Action <IBehaviour> ac)
        {
            var list = map.AsList();

            foreach (var service in list)
            {
                if (service is IBehaviour behaviour)
                {
                    ac(behaviour);
                }
            }
        }
示例#5
0
        public void StopAllServer()
        {
            Debuger.Log();
            var list = m_mapModule.AsList();
            int cnt  = list.Count;

            for (int i = 0; i < cnt; i++)
            {
                list[i].Stop();
                list[i].Release();
            }
            m_mapModule.Clear();
        }
示例#6
0
        void ForEachBehaviour(Action <IBehaviour> ac)
        {
            var list = map.AsList();

            for (int i = 0; i < list.Count; i++)
            {
                var service = list[i];
                if (service is IBehaviour)
                {
                    var behaviour = (IBehaviour)service;
                    ac(behaviour);
                }
            }
        }
示例#7
0
        void ForEachService(Action <IService> ac)
        {
            var list = _map.AsList();

            foreach (var service in list)
            {
                ac(service);
            }
        }
        public UserData GetUserData(string name)
        {
            int cnt  = m_mapUserData.Count;
            var list = m_mapUserData.AsList();

            for (int i = 0; i < cnt; i++)
            {
                if (list[i].name == name)
                {
                    return(list[i]);
                }
            }

            return(null);
        }