// 替某一主題註冊一個觀測者 public void RegisterObserver(ENUM_GameEvent emGameEvnet, IGameEventObserver Observer) { // 取得事件 IGameEventSubject Subject = GetGameEventSubject( emGameEvnet ); if( Subject!=null) { Subject.Attach( Observer ); Observer.SetSubject( Subject ); } }
public void RemoveObserver(GameEventType eventType, IGameEventObserver observer) { IGameEventSubject sub = GetGameEvent(eventType); if (sub != null) { sub.RemoveObserver(observer); observer.SetSubject(null); } }
/// <summary> /// 移除 /// </summary> /// <param name="eventType"></param> /// <param name="observer"></param> public void RemoveObserver(GameEventType eventType, IGameEventObserver observer) { IGameEventSubject subject = GetGameEventSubject(eventType); if (subject == null) { return; } subject.RemoveObserver(observer); observer.SetSubject(null); }
public void RegisterObserver(GameEventType eventType, IGameEventObserver observer) { IGameEventSubject sub = GetGameEvent(eventType); if (sub == null) { return; } sub.RegisterObserver(observer); observer.SetSubject(sub); }
//移除 public void RemoveObserver(GameEventType gameEventType, IGameEventObserver eventObserver) { IGameEventSubject sub = GetGameEventSubject(gameEventType); if (sub == null) { return; } sub.RemoveObserver(eventObserver); eventObserver.SetSubject(null); }
// 替某一主题注册一个观測者 public void RegisterObserver(ENUM_GameEvent emGameEvnet, IGameEventObserver Observer) { // 取得事件 IGameEventSubject Subject = GetGameEventSubject(emGameEvnet); if (Subject != null) { Subject.Attach(Observer); Observer.SetSubject(Subject); } }
/// <summary> /// 给某一个主题注册观察者 /// </summary> /// <param name="emGameEvnet"></param> /// <param name="Observer"></param> public void RegisterObserver(ENUM_GameEvent emGameEvnet, IGameEventObserver Observer) { IGameEventSubject Subject = GetGameEventSubject(emGameEvnet); //当事件主题不为空,注册进去 if (Subject != null) { Subject.Attach(Observer); Observer.SetSubject(Subject); } }
public override void InitActionType(E_ActionType actionType) { switch (actionType) { case E_ActionType.WaitForHelp: mGameEventRescuedObserver = new CitizenBeRescedObserver(this); mGameEventReachedObserver = new HelicopterReachedObserver(this); ioo.gameEventSystem.RegisterObserver(GameEventType.CityzenRescued, mGameEventRescuedObserver); ioo.gameEventSystem.RegisterObserver(GameEventType.HelicopterReached, mGameEventReachedObserver); break; case E_ActionType.WaitForBoat: break; } }
public void RemoveObserver(GameEventType eventType, IGameEventObserver observer) { //if (mGameEvents.ContainsKey(eventType)) //{ // IGameEventSubject sub = mGameEvents[eventType]; // sub.RemoveObserver(observer); //注册sub事件的观察者 // observer.SetSubject(null); // 设置观察者观察的主题。 //} //else //{ // Debug.LogError("没有对应被观察事件类型:" + eventType + "的主题类!"); //} IGameEventSubject sub = GetGameEventSub(eventType); if (sub == null) { return; } sub.RemoveObserver(observer); //注册sub事件的观察者 observer.SetSubject(null); // 设置观察者观察的主题。 }
public void RegisterObserver(IGameEventObserver ob) { mObservers.Add(ob); }
public void RemoveObserver(IGameEventObserver ob) { mObservers.Remove(ob); }
/// <summary> ///移除事件 /// </summary> /// <param name="gameEventType"></param> /// <param name="eventObserver"></param> public void RemoveObserver(GameEventType gameEventType, IGameEventObserver eventObserver) { mGameEventSystem.RegisterObserver(gameEventType, eventObserver); }
// 取消 public void Detach(IGameEventObserver theObserver) { m_Observers.Remove(theObserver); }
private System.Object m_Param = null; // 发生事件时附加的参数 // 加入 public void Attach(IGameEventObserver theObserver) { m_Observers.Add(theObserver); }
private System.Object m_Param = null; // 發生事件時附加的參數 // 加入 public void Attach(IGameEventObserver theObserver) { m_Observers.Add( theObserver ); }
public void RegisterGameEvent(ENUM_GameEvent emGameEvent, IGameEventObserver Observer) { m_GameEventSystem.RegisterObserver(emGameEvent, Observer); }
public void RegisterObserver(GameEventType eventType, IGameEventObserver observer) { mGameEventSys.RegisterObserver(eventType, observer); }
// 註冊遊戲事件 public void RegisterGameEvent( ENUM_GameEvent emGameEvent, IGameEventObserver Observer) { m_GameEventSystem.RegisterObserver( emGameEvent , Observer ); }
// 取消 public void Detach(IGameEventObserver theObserver) { m_Observers.Remove( theObserver ); }
//注册观察者 public void RegisterObserver(IGameEventObserver eventObserver) { mObservers.Add(eventObserver); }
//移除观察者 public void RemoveObserver(IGameEventObserver eventObserver) { mObservers.Remove(eventObserver); }
public void RemoveObserver(GameEventType eventType, IGameEventObserver observer) { mGameEventSystem.RemoveObserver(eventType, observer); }
private void Start() { mGameEventObserver = new CheckPullWaterBattleSceneObserver(this); ioo.gameEventSystem.RegisterObserver(GameEventType.PullWater, mGameEventObserver); Init(); }