在Asset Store中下载Survival Shooter资源
将下载资源中的Environment拿来当做地图即可
订阅与发布模式完成Player、Patrol、SceneController以及ScoreManager之间的通信。首先定义了一个抽象类Subject.cs(发布者)和一个接口Handle.cs(订阅者)。 Subject中有一个List存放所有的Handle,并且有增加和删除Handle的方法Attach ()和Detach ()。还有一个Notify ()方法向每一个Handle发送消息。Handle中则有处理Subject发送过来的消息的方法Reaction ()。Player继承Subject作为发布者将自己的状态以及位置发送给每一个Handle。
Patrol、SceneController和ScoreManager都作为Handle接受到Player发送过来的消息,但是不同的Handle则会对这些信息做出不同地处理。巡逻兵Patrol需要知道玩家的位置,以及是否存活;而SceneController和ScoreManager并不在乎玩家的位置,它们只关心玩家是不是还活着。
游戏视频 Github链接
