observer.cpp

来自「C人工智能游戏开发的一些实例源代码 C Game development in 」· C++ 代码 · 共 48 行

CPP
48
字号
//----------------------------------------------------------------------------------------------
// Sequential Prediction Demo: The positioning pattern
// 
// Author:  Fri Mommersteeg
// Date:    10-09-2001
// File:    Observer.cpp
//----------------------------------------------------------------------------------------------

//----------------------------------------------------------------------------------------------
// Include files
//----------------------------------------------------------------------------------------------

#include "stdafx.h"
#include "observer.h"

//----------------------------------------------------------------------------------------------
// RegisterObserver(): Registers a new observer with the subject
//----------------------------------------------------------------------------------------------

void CSubject::RegisterObserver(CObserver * pObserver) { 
	observers.Add(pObserver); 
}

//----------------------------------------------------------------------------------------------
// UnregisterObserver(): Unregisters an observer with the subject
//----------------------------------------------------------------------------------------------

void CSubject::UnregisterObserver(CObserver * pObserver) {	
	observers.Remove(pObserver);
}

//----------------------------------------------------------------------------------------------
// NotifyAll(): Notifies all observers of a certain event
//----------------------------------------------------------------------------------------------

BOOL CSubject::NotifyAll(int msg, DWORD param) {
	int i = 0;
	BOOL proceed = TRUE;
	while (i<observers.GetSize() && proceed) {
		CObserver * obs = observers[i];
		proceed = obs->Notify(msg, param);
		i++;
	}
	return !proceed; // did some observer react?

	return FALSE;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?