// 替某一主題註冊一個觀測者
	public void RegisterObserver(ENUM_GameEvent emGameEvnet, IGameEventObserver Observer)
	{
		// 取得事件
		IGameEventSubject Subject = GetGameEventSubject( emGameEvnet );
		if( Subject!=null)
		{
			Subject.Attach( Observer );
			Observer.SetSubject( Subject );
		}
	}
Example #2
0
    public void RemoveObserver(GameEventType eventType, IGameEventObserver observer)
    {
        IGameEventSubject sub = GetGameEvent(eventType);

        if (sub != null)
        {
            sub.RemoveObserver(observer);
            observer.SetSubject(null);
        }
    }
Example #3
0
    /// <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);
    }
Example #5
0
    //移除
    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);
        }
    }
Example #7
0
    /// <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);
        }
    }
Example #8
0
    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;
        }
    }
Example #9
0
    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);    // 设置观察者观察的主题。
    }
Example #10
0
 public void RegisterObserver(IGameEventObserver ob)
 {
     mObservers.Add(ob);
 }
Example #11
0
 public void RemoveObserver(IGameEventObserver ob)
 {
     mObservers.Remove(ob);
 }
Example #12
0
 /// <summary>
 ///移除事件
 /// </summary>
 /// <param name="gameEventType"></param>
 /// <param name="eventObserver"></param>
 public void RemoveObserver(GameEventType gameEventType, IGameEventObserver eventObserver)
 {
     mGameEventSystem.RegisterObserver(gameEventType, eventObserver);
 }
Example #13
0
 // 取消
 public void Detach(IGameEventObserver theObserver)
 {
     m_Observers.Remove(theObserver);
 }
Example #14
0
    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 );
	}
Example #16
0
 public void RegisterGameEvent(ENUM_GameEvent emGameEvent, IGameEventObserver Observer)
 {
     m_GameEventSystem.RegisterObserver(emGameEvent, Observer);
 }
Example #17
0
 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);
 }
Example #22
0
 public void RemoveObserver(GameEventType eventType, IGameEventObserver observer)
 {
     mGameEventSystem.RemoveObserver(eventType, observer);
 }
Example #23
0
 private void Start()
 {
     mGameEventObserver = new CheckPullWaterBattleSceneObserver(this);
     ioo.gameEventSystem.RegisterObserver(GameEventType.PullWater, mGameEventObserver);
     Init();
 }