public void NotifyObservers(RoomMessageDefine id, object msg) { if (null != m_Observers) { IList <Observer> observers = m_Observers; for (int i = 0; i < observers.Count; ++i) { Observer observer = observers[i]; if (null != observer && !observer.IsIdle) { observer.SendMessage(id, msg); } } } }
public void SyncForNewObserver(Observer observer) { if (null != observer) { RoomUserManager roomUserMgr = GetRoomUserManager(); if (null != roomUserMgr && null != roomUserMgr.ActiveScene) { //同步场景数据给观察者 for (LinkedListNode <EntityInfo> linkNode = EntityManager.Entities.FirstValue; null != linkNode; linkNode = linkNode.Next) { EntityInfo npc = linkNode.Value; if (null != npc) { Msg_RC_CreateNpc bder = DataSyncUtility.BuildCreateNpcMessage(npc); observer.SendMessage(RoomMessageDefine.Msg_RC_CreateNpc, bder); } } } } }
internal void SyncForNewObserver(Observer observer) { if (null != observer) { Room room = GetRoom(); if (null != room && null != room.ActiveScene) { //同步场景数据给观察者 for (LinkedListNode<EntityInfo> linkNode = EntityManager.Entities.FirstValue; null != linkNode; linkNode = linkNode.Next) { EntityInfo npc = linkNode.Value; if (null != npc) { Msg_RC_CreateNpc bder = DataSyncUtility.BuildCreateNpcMessage(npc); observer.SendMessage(RoomMessageDefine.Msg_RC_CreateNpc, bder); } } } } }