private ISubject GetGameEvent(Enum_GameEvent gameEvent) { if (gameevents.ContainsKey(gameEvent)) { return(gameevents[gameEvent]); } ISubject subject = null; switch (gameEvent) { case Enum_GameEvent.EnemyKilled: subject = new EnemyKilledSubject(); break; case Enum_GameEvent.WeaponCollectioned: subject = new WeaponCollectionedSubject(); break; case Enum_GameEvent.TrapTriggered: subject = new TrapTriggeredSubject(); break; default: Debug.Log("还没有产生指定的主题类"); return(null); } gameevents.Add(gameEvent, subject); return(subject); }
//设置观察主题 public void SetSubject(ISubject subject) { weaponCollectionedSubject = subject as WeaponCollectionedSubject; }