void ReceviceSyncEntity(SyncEntityMsg msg, params object[] objs) { //Debug.Log("ReceviceSyncEntity frame " + msg.frame); //SyncDebugSystem.LogAndDebug("ReceviceSyncEntity frame " + msg.frame); if (m_world.IsStart) { ServerCacheComponent rc = m_world.GetSingletonComp <ServerCacheComponent>(); ServiceMessageInfo info = new ServiceMessageInfo(); info.m_frame = msg.frame; info.m_type = MessageType.SyncEntity; info.m_msg = msg; //TODO 服务器缓存 未清除,并且这里可能有问题,导致主动复活出错,原因应该是实体同步指令未执行,因为帧数已错过 rc.m_messageList.Add(info); //Recalc(); } else { //List<int> idList = new List<int>(); ////删除多余的实体 //for (int i = 0; i < msg.infos.Count; i++) //{ // idList.Add(msg.infos[i].id); //} //for (int i = 0; i < m_world.m_entityList.Count; i++) //{ // if(!idList.Contains( m_world.m_entityList[i].ID)) // { // m_world.DestroyEntityImmediately(m_world.m_entityList[i].ID); // } //} ExecuteSyncEntity(msg); } }
void ReceviceSyncEntity(SyncEntityMsg msg, params object[] objs) { Debug.Log("ReceviceSyncEntity"); if (m_world.IsStart) { ServerCacheComponent rc = m_world.GetSingletonComp <ServerCacheComponent>(); ServiceMessageInfo info = new ServiceMessageInfo(); info.m_frame = msg.frame; info.m_type = MessageType.SyncEntity; info.m_msg = msg; rc.m_messageList.Add(info); Recalc(msg.frame); } else { ExecuteSyncEntity(msg); } }
void ReceviceSyncEntity(SyncEntityMsg msg, params object[] objs) { SyncDebugData data = GetSyncData(msg.frame); data.SyncEntityCount++; }